stringtranslate.com

Límite-de-control-de-entidad

El límite de control de entidad ( ECB ), o el control de límites de entidad ( EBC ), o la entidad de control de límites ( BCE ) es un patrón arquitectónico utilizado en la programación orientada a objetos impulsada por casos de uso que estructura las clases que componen los nivel de código fuente orientado a objetos de acuerdo con sus responsabilidades en la realización del caso de uso.

Origen y evolución

El enfoque de límite de control de entidad tiene su origen en  el método de ingeniería de software orientada a objetos (OOSE) impulsado por casos de uso de Ivar Jacobson , publicado en 1992. [1] [2]  Originalmente se llamó Control de interfaz de entidad (EIC) pero muy rápidamente el término " límite " reemplazó a " interfaz " para evitar la posible confusión con la terminología del lenguaje de programación orientado a objetos .

Se desarrolla aún más en el Proceso Unificado , que promueve el uso del BCE en las actividades de análisis y diseño con el apoyo de los estereotipos UML . [3] Modelado ágil , [4] [5] y el proceso ICONIX [6] elaborado sobre el patrón de arquitectura del BCE con diagramas de robustez. [7]      

Principio

El patrón ECB organiza las responsabilidades de las clases según su función en la realización del caso de uso:

Luego, las clases correspondientes se agrupan en paquetes de servicios, que son un conjunto indivisible de clases relacionadas que pueden usarse como unidades de entrega de software.

Las clases de BCE se identifican por primera vez cuando se analizan   los casos de uso :

Luego, las clases se refinan y reestructuran o reorganizan según sea necesario para el diseño, por ejemplo:  

El patrón del BCE supone que las responsabilidades de las clases también se reflejan en las relaciones e interacciones entre las diferentes categorías de clases para garantizar la solidez del diseño. [8] [9]

Diagrama de robustez

Los diagramas de robustez permiten representar visualmente la relación entre entidades, controles, límites y actores. [4] Utiliza estereotipos gráficos introducidos en los primeros trabajos de Jacobson:  

Se aplican las siguientes restricciones de robustez: 

En principio, las entidades no deberían conocer límites y controles. Sin embargo, en la práctica, algunas variantes permiten que entidades, límites y controles se suscriban como observadores a una entidad.

De manera similar, la restricción de que una clase de límite no conozca otras clases de límite solo se aplica en el nivel más alto, y no entre clases que cooperan para implementar el mismo límite.

Relación con otros patrones arquitectónicos

Existe cierta similitud entre el BCE y el modelo-vista-controlador (MVC): las entidades pertenecen al modelo y las vistas pertenecen a los límites. Sin embargo, la función del control del BCE es muy diferente de la del controlador MVC, ya que encapsula también la lógica empresarial del caso de uso, mientras que el controlador MVC procesa la entrada del usuario que sería responsabilidad del límite en el BCE. El control del BCE aumenta la separación de preocupaciones en la arquitectura al encapsular la lógica empresarial que no está directamente relacionada con una entidad. [2]

El BCE se puede utilizar junto con la arquitectura hexagonal , siempre que los límites formen la capa adaptadora exterior. [10]  

El BCE es compatible con la arquitectura limpia que fusiona los principios del BCE con otros paradigmas de diseño arquitectónico. [11] [12]  La arquitectura limpia coloca a las entidades en el núcleo y las rodea con un anillo de casos de uso (es decir, control del BCE) y un anillo con puertas de enlace y presentadores (es decir, límites del BCE). Sin embargo, una arquitectura limpia requiere una dependencia unidireccional desde el exterior hacia el interior, lo que requiere dividir los controles del BCE en lógica de casos de uso y coordinación de objetos.

Ver también

notas y referencias

  1. ^ Jacobson, Ivar. (1992). Ingeniería de software orientada a objetos: un enfoque basado en casos de uso. [Nueva York]: Prensa ACM. págs. 130-133. ISBN 0201544350. OCLC  26132801.
  2. ^ ab "Aviso de lectura sobre ingeniería de software orientada a objetos, Ivar Jacobson, et al. (1992)". tedfelix.com . Consultado el 14 de agosto de 2019 .
  3. ^ El proceso de desarrollo de software unificado . Jacobson, Ivar., Booch, Grady., Rumbaugh, Jim. Reading, Massachusetts: Addison-Wesley. 1999. págs. 44, 183–188, 202–205, 256–257, 439. ISBN 0201571692. OCLC  636807532.{{cite book}}: CS1 maint: others (link)
  4. ^ ab Scott Ambler . "Diagramas de robustez: una introducción ágil". agilemodeling.com . Consultado el 14 de agosto de 2019 .
  5. ^ Ambler, Scott W., 1966- (2004). La introducción al objeto: desarrollo ágil impulsado por modelado con UML 2.0 (3ª ed.). Cambridge, Reino Unido: Cambridge University Press. ISBN 0521540186. OCLC  54081540.{{cite book}}: CS1 maint: multiple names: authors list (link) CS1 maint: numeric names: authors list (link)
  6. ^ "Cerrar la brecha entre análisis y diseño • The Register". www.theregister.co.uk . Consultado el 14 de agosto de 2019 .
  7. ^ Dugerdil, Philippe (2013). "Arquitectura de aplicación empresarial móvil". Actas del taller de ACM de 2013 sobre el ciclo de vida del desarrollo móvil . Indianápolis, Indiana, Estados Unidos: ACM Press. págs. 9-14. doi :10.1145/2542128.2542131. ISBN 9781450326032. S2CID  14408662.
  8. ^ "Pauta: patrón de límites de control de entidad". posomas.isse.de . Consultado el 14 de agosto de 2019 .
  9. ^ Daschner, Sebastián (2017). Diseño de aplicaciones Java EE modernas: diseño de aplicaciones empresariales ligeras y orientadas a los negocios en la era de la nube, los contenedores y Java EE 8 . Publicación de paquetes. Págs. sección "Límite de control de la entidad". ISBN 9781788397124. OCLC  1008993521.
  10. ^ "El patrón entidad-control-límite". www.cs.sjsu.edu . Consultado el 14 de agosto de 2019 .
  11. ^ Martín, Robert, C. (12 de agosto de 2012). "La arquitectura limpia | Blog Clean Coder". blog.cleancoder.com . Consultado el 12 de agosto de 2019 .{{cite web}}: CS1 maint: multiple names: authors list (link)
  12. ^ Martín, Robert C. (2017). Arquitectura limpia: una guía para artesanos sobre la estructura y el diseño del software . Prentice Hall. ISBN 978-0-13-449416-6. OCLC  1004983973.