Помогите отделить GUI от логики в рамках MFC
От: jared  
Дата: 25.02.10 09:15
Оценка:
Разрабатывается обычное декстоп приложение с возможностью портируемости на различные платформы (в очень далеком будущем... сейчас хотелось бы правильно сделать архитектуру, для чтобы когда настанет время — ничего не рефакторить).
GUI'ем для винды хочется взять творение питерских ребят из BCGSoft любезно предоставляемого Майкрософтом в рамках MFC Feature Pack for Visual C++ 2008.

В том о чем я дальше буду писать я почти не разбираюсь, так что прошу поправить меня и предложить действительно правильные, подтвержденные опытом варианты.

Снйчас я вижу весь GUI приложения, как набор классов управляемых каким-то GUIManager'ом реализующим IGUIManager — в который агрегировано огромная куча интерфейсов — по интерфейсу для каждой группы семантически связанных контролов.
Основное приложение с помощью какой-то фабрики получает объект реализующий IGUIManager (свой для каждой реализации гуя на каждой платформе) — тем самым обеспечивая кроссплатформенность.

Приложения MFC сгенерированные виззардом построены по другому принципу — не буду писать всем и так известно.
Как адаптировать MFC приложение для моих нужд, как отделить GUI от логики в рамках MFC, чтобы GUI можно было как угодно менять (при условии сохранении реализации GUI'ем необходимых логике интефейсов) не затрагивая логики.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.