Объяснение Компонентной модели.NET

В первую очередь, я должен сказать, что собираюсь говорить о System.ComponentModel.Component.

Вы знаете, я понимаю, что .NET Component Model обеспечивает способность (через Site Services) для определения отдельный Components, таким образом, они могут общаться друг с другом слабо связанным способом, и что каждый Component легко заменимо.

Но моя точка, что я могу достигнуть этого иначе: Я имею в виду, разрабатываю ли я SW в праве Object Oriented Programming способ, я могу посредством Abstract classes, Interfaces и т.д. достигните всей упомянутой функциональности / совместимость.

Затем, ПОЧЕМУ и КОГДА я должен полагаться на Компонентную модель?

8
задан PaN1C_Showt1Me 19 March 2010 в 10:22
поделиться

1 ответ

Что ж, вы можете сделать это со своими собственными базовыми классами, интерфейсами и так далее. Фактически, это именно то, что в System.ComponentModel есть . Это общий набор интерфейсов и базовых классов, так что вы можете реализовать свои компоненты и использовать их с реализациями других людей.

Если вы просто создали свои собственные базовые классы и интерфейсы, то любой, кто хотел бы взаимодействовать с вашим кодом, должен был бы использовать ваши классы. А что, если они захотят интегрироваться с двумя компонентами разных производителей одновременно?

В частности, все компоненты WinForms используют материал System.ComponentModel для реализации элементов управления, которые вы можете поместить в свою форму. Им пришлось выбрать какой-то интерфейс для представления этого, так почему бы не тот, который определен в System.ComponentModel? Зачем им создавать свои собственные, если уже есть идеально продуманный вариант?

7
ответ дан 5 December 2019 в 18:58
поделиться
Другие вопросы по тегам:

Похожие вопросы: