En los próximos meses vamos a comenzar un proyecto donde tomaremos un sistema que hemos construido para un cliente (v1) y lo reconstruiremos desde cero. Nuestro objetivo con v2 es hacerlo modular, para que este cliente específico tenga su propio conjunto de módulos que use, luego otro cliente puede usar un conjunto diferente de módulos por completo. El truco aquí es que la Compañía A podría tener una serie de módulos de pago y usuario que cambian la forma en que funciona ese sistema. La empresa B podría seguir el procedimiento de pago estándar, pero personalizar cómo se navegan los productos.
¿Cuáles son algunos buenos enfoques para la arquitectura de la aplicación cuando se está creando una aplicación desde cero que desea tener Core
compartida entre todos los clientes y al mismo tiempo mantener la flexibilidad para que cualquier cosa sea modificada específicamente para un cliente?
He visto ganchos de CodeIgniter y no creo que sea una buena solución, ya que podría terminar con 250 ganchos y todavía no es lo suficientemente flexible. ¿Cuáles son algunas otras soluciones? Lo ideal es que no necesitaremos para dibujar una raya en la arena.
fuente
RenderAction()
No soy un tipo PHP, pero en el lado del script java si va a tener muchos módulos que le gustaría mantener lo más independientes posible, hay varios sistemas para esto, como RequireJS , que tienen un script java módulos que declaran dependencias de otros módulos, y el marco se asegura de que se carguen cuando sea necesario.
Los diversos marcos varían según la forma en que se declaran las dependencias, la cantidad de manejo de dependencias que se realiza como un paso de compilación en el servidor, en la carga de la página o dinámicamente a pedido, y en cuánto tiene que cambiar la forma en que escribe su java- guión.
Estos marcos no se aplican tanto (o tal vez en absoluto) si el marco del lado del servidor maneja esto o genera su script java por usted, pero es posible que desee que su script java sea independiente del marco del lado del servidor.
Si no tiene demasiado java-script pero desea cierta modularidad, siempre puede apegarse a las funciones de auto llamada anónimas que manejan las dependencias ordenando primero las etiquetas del script con las dependencias, y haciéndose referencia mutuamente registrándose con un solo objeto en El espacio de nombres global. Eso al menos los hace casi modulares y no cuesta mucho implementarlos.
fuente
Aquí hay algunas instrucciones sobre cómo hacer un diseño modular: https://class.coursera.org/saas/lecture/preview/9
También esto: " SOA se puede ver en un continuo, desde conceptos más antiguos de computación distribuida y programación modular , a través de SOA, y hasta las prácticas actuales de mashups, SaaS , ..."
La organización del código HMVC por sí sola no necesariamente conduce a la modularidad.
fuente