Я работаю над оптимизацией моего дизайна с точки зрения mvc , намереваясь упростить API представления, которое является вполне вложенным, даже если Iv создавал составные виджеты (с собственными событиями и сообщениями / pubsub) впопытаться упростить вещи.
Например, у меня есть основной класс графического интерфейса верхнего уровня - wxFrame, в котором есть несколько виджетов, включая блокнот, блокнот содержит несколько вкладок, некоторые из которых являются блокнотами, которые содержат составные виджеты.Таким образом, для вызова методов одного из этих составных виджетов из контроллера у меня будет
self.gui.nb.sub_nb.composite_widget.method()
. Чтобы создать подходящую абстракцию для представления, я создал ссылки на эти виджеты (чьи методы необходимо вызывать вконтроллер), например,
self.composite_widget = self.nb.sub_nb.composite_widget()
, так что в контроллере вызов теперь упрощен до
self.gui.composite_widget.method()
Является ли это приемлемым способом создания уровня абстракции для графического интерфейса?