Разница между компонентом и объектом - PullRequest
3 голосов
/ 27 ноября 2011

В чем ключевое различие между объектом и компонентом? Может ли кто-нибудь привести примеры на Java о том, как связаны объекты и компоненты? Если возможно, приведите несколько примеров, что представляют собой объекты и какие компоненты.

Ответы [ 4 ]

5 голосов
/ 27 ноября 2011

Чтобы сопоставить это с каким-то реальным примером,

В машине

  • Двигатель является компонентом
  • Дверь является составной частью
  • Ключ - это объект
  • болт - это объект.

Это чрезмерное упрощение (и также субъективное), и я упомянул это для простоты и понимания. Компонент также может состоять из другого компонента. Но каждый компонент служит очень специфической цели (например, двигатель, дверь, шина). С другой стороны, объекты находятся на более детальном уровне и служат строительными блоками для более крупных компонентов / систем.

4 голосов
/ 28 ноября 2011

Принимая общий контекст архитектуры программного обеспечения ...

Все объекты являются компонентами, но не все компоненты обязательно являются объектами.

Компоненты - это общее имя для элементов, используемых в представлениях из Типового представления Компонент-и-Соединитель. Представление Component-and-Connector описывает представления времени выполнения (или динамические), поэтому компоненты представляют собой структуры runtime (в отличие от структур static ) (Clements et al., Документирование архитектур программного обеспечения). : Взгляды и дальше) .

Компонент - это не что-то конкретное для конкретного языка, а скорее способ организации и размышления о структурах среды выполнения системы, чтобы люди, разрабатывающие систему, могли понять, как система, которую они создают, продвигает или препятствует определенным свойствам. Следовательно, следующие утверждения являются истинными:

  • объект является компонентом
  • некоторая концептуальная коллекция объектов является компонентом
  • даже набор компонентов является компонентом

То, как вы разделите систему на компоненты, будет зависеть от того, какое значение вы хотите передать своим коллегам-разработчикам, и какие свойства вам нужны для вашей системы. Компоненты соединяются друг с другом во время выполнения - например, один объект создает экземпляр другого, веб-клиент подключается к веб-серверу, подписчик регистрируется на шине событий. Если вы используете объектно-ориентированный язык, такой как Java, все компоненты будут состоять из объектов.

Другие примеры компонентов, относящихся к архитектурным стилям Component-and-Connector, включают уровни (стиль N-уровня), фильтры (стиль конвейера и фильтра), объекты и компоненты. «Компонент» становится своего рода всеобъемлющим во многих описаниях архитектуры, поэтому лучше быть более конкретным, когда это возможно.

2 голосов
/ 27 ноября 2011

Компоненты - это очень общее слово, но, как правило, с учетом того, что компонент проектирования архитектуры Java-EE - это группа модулей классов, собранных вместе для определения цели системы.

Где объект может быть простой сущностью. Бизнес модель

Давайте возьмем пример веб-приложения Java-EE, которое работает в каком-то банке, поэтому потребуется управление пользователями (роли, регистрация пользователя, предоставление определенных ролей .. и т. Д.)

, где

User user = new User() будет одним объектом

0 голосов
/ 15 ноября 2013

Объект (автомобиль) имеет компонент (двигатель).Двигатель может быть объектом, если его использовать вне автомобиля, например, для развлечения.

=> Объект может быть компонентом, и наоборот.Это зависит только от контекста.

Но объект по-прежнему является более базовым термином, чем компонент, поэтому можно сказать: все компоненты являются объектами, но не все объекты являются компонентами.

=> Компонентобъект, который связан с другим объектом по контексту.

Синоним для Компонента => Ингредиент.

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