Состав против наследования и инструментарий GUI - PullRequest
2 голосов
/ 15 июня 2010

Говорят, что композиция предпочтительнее наследования. Однако каждый инструментарий GUI с открытым исходным кодом использует наследование для нарисованных виджетов (окна, метки, рамки, кнопки и т. Д.) Я проверил Qt, wxWidgets и GTK +. Есть ли пример инструментария GUI (написанный на любом языке), который использует композицию вместо наследования для разделения различных виджетов?

1 Ответ

1 голос
/ 15 июня 2010

С какой проблемой вы сталкиваетесь с этими GUI Toolkits?

Я думаю, они происходят от общего базового класса Widget, так что все они предоставляют минимальный интерфейс. Таким образом, вы можете написать код, который может работать с любым SpecializedWidgetType. Я думаю, что это хорошее использование наследования ..

Предпочитаю композицию наследованию .. но не рождаем композицию там, где наследование является правильным ответом. Всегда есть исключения из правила / руководства.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...