geigi/cozy

Rethink MVVM architecture

Opened this issue · 1 comments

Cozy uses the model-view-viewmodel architecture which is probably the best one for this kind of application. However, the implementation basically duplicates the "view" part of it as there is the actual Blueprint file, and also a Python class for it.

My intention is to change this by dropping the view classes, as well as the architecture for it (the EventSender and the Observer classes), and use GObject property bindings and signals throughout the application. This way the view model can be bound directly from the UI definition, and there's no need for an intermediary layer.

Related to #844