Nos próximos meses, iniciaremos um projeto em que pegaremos um sistema que construímos para um cliente (v1) e o reconstruiremos do zero. Nosso objetivo com a v2 é torná-lo modular, para que esse cliente específico tenha seu próprio conjunto de módulos que eles usam, então outro cliente pode usar um conjunto diferente de módulos. O truque aqui é que a empresa A pode ter uma série de módulos de checkout e usuário que mudam a forma como esse sistema funciona. A empresa B pode seguir o procedimento padrão de pagamento, mas personalizar como os produtos são navegados.
Quais são algumas boas abordagens para a arquitetura de aplicativos quando você está construindo um aplicativo a partir do zero e deseja Core
compartilhar um que seja compartilhado entre todos os clientes, mantendo a flexibilidade para que qualquer coisa seja modificada especificamente para um cliente?
Eu vi os ganchos do CodeIgniter e não acho que seja uma boa solução, pois poderíamos ter 250 ganchos e ainda não é flexível o suficiente. Quais são algumas outras soluções? Idealmente, não precisaremos desenhar uma linha na areia.