Cuando hablamos de una arquitectura de frontend, muchas veces damos por hecho que los conceptos se limitan a poco más que el Model-View-Controller.
En realidad, como es de suponer, en este mapa aparecen otros muchos actores, conceptos, patrones arquitecturales y
Cuando hablamos de una arquitectura de frontend, muchas veces damos por hecho que los conceptos se limitan a poco más que el Model-View-Controller.
En realidad, como es de suponer, en este mapa aparecen otros muchos actores, conceptos, patrones arquitecturales y elementos que vale la pena recordar, estos son algunos de ellos:
[row]
Client
Módulo de código que invoca una determinada acción sobre el sistema que se toma en consideración
[/row]
[row]
Server
Módulo de código que es invocado por el Client
[/row]
[row]
Tier
proceso host; Puede que cada tier se ejecute en diferentes nodos, igual que cada instancia de tier en diferentes máquinas físicas, pero no es mandatorio. Desde el punto de vista lógico, es lo mismo, dado que en general dos tiers requieren remoting aún estando en la misma máquina física.
[/row]
[row]
Lado Cliente (Client-Side)
El tier dónde se ejecuta el código de frontend/UI, en el caso de las apps, es el engine nativo. También puede ser simplemente una web, un caso interesante es AngularJS
[/row]
[row]
Flow Synchronization:
Invocación directa de APIs/comportamientos, mediante la clásica programación imperativa. Esto conlleva un acoplamiento directo entre Client y Server, o bien sus abstracciones. Se traduce en la invocación directa de métodos sobre la instancia de una clase.
[/row]
[row]
Observer Synchronization:
Invocación de comportamientos mediante una interfaz genérica de listening, de forma que el Client invoca un comportamiento de un genérico Listener/Observer, sin conocer la implementación concreta. Es la aplicación del principio de Interface Segregation a las abstracciones sobre el módulo Server.Se traduce, en varias tecnologías, en exponer eventos en la interfaz pública de un módulo Client.
[/row]
[row]
Inversion of communication:
Idea conceptual a la base de Observer Synchronization .
[/row]
[row]
Technology Mapping:
Procedimiento en arquitectura del Software en el que una idea arquitectural “lógica” se lleva a la definición de detalles implementativos relativos exclusivamente a la tecnología escogida para cada una de las piezas arquitecturales.
[/row]
[row]
Event Bubbling:
Mecanismo implementativo equivalente a listeners “implícitos”, es decir, suscritos por defecto a todos los eventos, en una jerarquía de composición padre-hijo. Requiere de un event-dispatcher donde se quiera contestar a un evento.Común en las implementaciones de componentes gráficos.
[/row]
elementos que vale la pena recordar, estos son algunos de ellos:
[row]
Client
Módulo de código que invoca una determinada acción sobre el sistema que se toma en consideración
[/row]
[row]
Server
Módulo de código que es invocado por el Client
[/row]
[row]
Tier
proceso host; Puede que cada tier se ejecute en diferentes nodos, igual que cada instancia de tier en diferentes máquinas físicas, pero no es mandatorio. Desde el punto de vista lógico, es lo mismo, dado que en general dos tiers requieren remoting aún estando en la misma máquina física.
[/row]
[row]
Lado Cliente (Client-Side)
El tier dónde se ejecuta el código de frontend/UI, en el caso de las apps, es el engine nativo. También puede ser simplemente una web, un caso interesante es AngularJS
[/row]
[row]
Flow Synchronization:
Invocación directa de APIs/comportamientos, mediante la clásica programación imperativa. Esto conlleva un acoplamiento directo entre Client y Server, o bien sus abstracciones. Se traduce en la invocación directa de métodos sobre la instancia de una clase.
[/row]
[row]
Observer Synchronization:
Invocación de comportamientos mediante una interfaz genérica de listening, de forma que el Client invoca un comportamiento de un genérico Listener/Observer, sin conocer la implementación concreta. Es la aplicación del principio de Interface Segregation a las abstracciones sobre el módulo Server.Se traduce, en varias tecnologías, en exponer eventos en la interfaz pública de un módulo Client.
[/row]
[row]
Inversion of communication:
Idea conceptual a la base de Observer Synchronization .
[/row]
[row]
Technology Mapping:
Procedimiento en arquitectura del Software en el que una idea arquitectural “lógica” se lleva a la definición de detalles implementativos relativos exclusivamente a la tecnología escogida para cada una de las piezas arquitecturales.
[/row]
[row]
Event Bubbling:
Mecanismo implementativo equivalente a listeners “implícitos”, es decir, suscritos por defecto a todos los eventos, en una jerarquía de composición padre-hijo. Requiere de un event-dispatcher donde se quiera contestar a un evento.Común en las implementaciones de componentes gráficos.
[/row]