Ticket #150 (accepted planned)
identify high-level model interface
| Reported by: | ichthyo | Owned by: | ichthyo |
|---|---|---|---|
| Priority: | lesser | Milestone: | 0integration |
| Component: | lumieraProc | Keywords: | design refactor |
| Cc: | Blocked By: | #155, #340, #498 | |
| Blocking: | #80, #191, #325, #350 |
Description
The initial MObject hierarchy (as existing currently in-code) was written from a mere implementation perspective. Meanwhile we've found out that partially those MObjects will serve as an external interface or at least play an important role on the Proc/GUI interface.
Generally speaking, the goal is always to separate (external) interface and implementation. Entities used on external interfaces should live in namespace lumiera:: and thus be header-only and contained in a header within src/include
In conjunction with MObjects this means to identify which classes act as an abstraction and could be separated into interface/implementation. Obviously, the interfaces need to be at the top of the hierarchy, which means some refactoring (really tricky in this case, because of the builder tools). Basically, the class AbstractMO needs to be split and pushed down.
Change History
comment:8 Changed 2 years ago by ichthyo
- Blocked By 340 added
(In #340) now this is basically design/documentation work, detached from the implementation level
comment:9 Changed 2 years ago by ichthyo
- Status changed from new to accepted
currently working to get the session API outlined. The model interface is very closely related (almost identical to the session discovery interface)
comment:12 Changed 23 months ago by ichthyo
- Keywords refactor added
- Priority changed from grave to lesser
- Type changed from todo to planned
targeting the immediate session API first; considering this more like a refactoring task, i.e. extract the API part and separate it from the implementation.
