Model View Controller vs Boundary Control Entity
Asked Answered
M

4

15

What's the difference between MVC (Model View Controller) and BCE (Boundary Control Entity), I know that these two pattern are similar, but there's a difference, what is that difference?

Maintop answered 13/11, 2014 at 14:18 Comment(0)
K
20

BCE vs. MVC vs. 3-Tier

BCE was published by Ivar Jacobson (Ericsson Co.) in 80's with focus of separating responsibilities of elements in Object Oriented Systems. MVC was published by Trygve Reenskaug (XEROX Co.) in 70's with focus of implementing selectable user interfaces.

Kadiyevka answered 24/12, 2014 at 12:47 Comment(0)
H
7

Here is a discussion of ECB by Adam Bien, which includes the difference between MVC and ECB. Adam says that ECB is a "glorified MVC," and ECB is used more often in business logic whereas MVC is used more often in the user interface.

Hyohyoid answered 17/1, 2016 at 2:22 Comment(0)
C
3

BCE is how you create decoupled components that follow the open/close principle, dependency inversion and interface segregation. It is what you want to design the core of your application.

BCE consists of a combination of the following elements: Boundaries to other components, logic controllers and business entities.

Each boundary which consists two interfaces:

  • An input interface, responsible for exposing only the methods of the business logic that are needed to be known by the other component (interface segregation)
  • An output interface, responsible for not coupling the business logic to a specific component's implementation, rather make it so that the logic defines the contract and the other component adapts to it (dependency inversion + observer)

Note: You should strive to make your boundaries general and abstract (ie. do not leak concrete details in the interface). Ideally you should be able to replace the external component with a different one without breaking the interface or the core business logic code.

Each controller contains the logic for a use-case. This is where the application specific logic is.

Entities represent business objects, such as an invoice, a client, a report and other domain objects. They are essentially data-structures but contain code which is not specific to a particular use-case. Eg: invoice.addItem().

The controller will receive instructions from the input boundary coordinate the entities to update the application state, produce some result and send it over the output boundary.

I don't know MVC, so I leave this as half answered

Cradling answered 25/2, 2019 at 15:55 Comment(0)
C
2

The MVC and BCE Try this paper: https://www.academia.edu/39113245/Synthesis_of_MOF_MDA_PIM_MVC_and_BCE_notions_and_patterns

Cerumen answered 16/5, 2019 at 13:4 Comment(0)

© 2022 - 2024 — McMap. All rights reserved.