Какая разница между MVC (Model View Controller) и BCE (Boundary Control Entity), я знаю, что эти два шаблона похожи, но есть разница, в чем разница?
Контроллер просмотра модели против объекта управления границами
Ответ 1
BCE был опубликован Ivar Jacobson (Ericsson Co.) в 80 году с упором на разделение обязанностей элементов в объектно-ориентированных системах. MVC был опубликован компанией Trygve Reenskaug (XEROX Co.) в 70 году с упором на реализацию выбираемых пользовательских интерфейсов.
Ответ 2
Ниже приводится обсуждение ЕЦБ Адамом Биеном, в котором содержится различие между MVC и ECB. Адам говорит, что ЕЦБ является "прославленным MVC", и ECB чаще используется в бизнес-логике, тогда как MVC чаще используется в пользовательском интерфейсе.
Ответ 3
BCE - это то, как вы создаете разделенные компоненты, которые следуют принципу открытия/закрытия, инверсии зависимостей и разделению интерфейса. Это то, что вы хотите разработать ядро вашего приложения.
BCE состоит из комбинации следующих элементов: границы с другими компонентами, логические контроллеры и бизнес- объекты.
Каждая граница, которая состоит из двух интерфейсов:
- Интерфейс ввода, отвечающий за раскрытие только тех методов бизнес-логики, которые должны быть известны другому компоненту (разделение интерфейса)
- Выходной интерфейс, отвечающий за отсутствие связи между бизнес-логикой и реализацией конкретного компонента, скорее должен сделать так, чтобы логика определяла контракт, а другой компонент адаптировался к нему (инверсия зависимости + наблюдатель)
Примечание: вы должны стремиться сделать ваши границы общими и абстрактными (т.е. не пропускать конкретные детали в интерфейсе). В идеале вы должны иметь возможность заменить внешний компонент другим, не нарушая интерфейс или основной код бизнес-логики.
Каждый контроллер содержит логику для варианта использования. Это где специфическая логика приложения.
Объекты представляют бизнес-объекты, такие как счет, клиент, отчет и другие объекты домена. По сути, они являются структурами данных, но содержат код, который не является специфическим для конкретного варианта использования. Например: invoice.addItem().
Контроллер будет получать инструкции от входной границы координировать объекты, чтобы обновить состояние приложения, получить некоторый результат и отправить его через выходную границу.
Я не знаю MVC, поэтому я оставляю это как половину ответа
Ответ 4
MVC и BCE Попробуйте этот документ: https://www.academia.edu/39113245/Synthesis_of_MOF_MDA_PIM_MVC_and_BCE_notions_and_patterns