mantidproject / mantid

Main repository for Mantid code
https://www.mantidproject.org
GNU General Public License v3.0
211 stars 123 forks source link

Indirect Data Reduction interface refactor #35912

Open MohamedAlmaki opened 1 year ago

MohamedAlmaki commented 1 year ago

Goal

The primary objective of this roadmap is to refactor the existing tab classes within the UI window to adhere to the Model-View-Presenter (MVP) architecture. This refactoring will enhance code organization, modularity, and testability while allowing for smoother future modifications. The incremental approach detailed below will ensure a systematic and efficient transition.

Approach

The refactoring process will follow a bottom-up approach, addressing individual tabs, creating common interfaces, and adapting the window class for MVP compatibility.

First Stage (Tab Refactoring)

Each tab will be refactored individually to accommodate the MVP architecture. The tabs scheduled for refactoring are:

ISIS Energy Transfer #35754

Refactoring is done in #35901 Future work:

Potential improvements:

Second Stage (Common Interface Refactoring) #35961

After individual tab refactoring, create common interfaces for the tabs to share a consistent MVP structure, removing the old tab interfaces. In addition, define a mechanism for passing instrument details from the window class to the tabs.

Third Stage (Window Refactoring)

Refactor the window class to make it MVP-compatible.

AnthonyLim23 commented 1 year ago

for ILL Energy Transfer that is the ILL (France).