В ближайшие месяцы мы собираемся начать проект, в котором мы возьмем систему, которую мы создали для клиента (v1), и восстановим ее с нуля. Наша цель с v2 состоит в том, чтобы сделать его модульным, чтобы этот конкретный клиент имел свой собственный набор используемых модулей, тогда другой клиент может использовать другой набор модулей в целом. Хитрость в том, что компания А может иметь ряд проверочных и пользовательских модулей, которые изменяют работу этой системы. Компания B может придерживаться стандартной процедуры оформления заказа, но настроить способ просмотра продуктов.
Каковы некоторые хорошие подходы к архитектуре приложений, когда вы создаете приложение с нуля, которое вы хотите иметь, Core
которое будет совместно использоваться всеми клиентами, при этом сохраняя гибкость для всего, что будет изменено специально для клиента?
Я видел хуки CodeIgniter и не думаю, что это хорошее решение, так как мы могли бы получить 250 хуков, но они все еще недостаточно гибки. Какие есть другие решения? В идеале нам не нужно рисовать линии на песке.
источник
RenderAction()
Я не PHP-парень, но на стороне java-скрипта, если у вас будет много модулей, которые вы хотели бы сохранить как можно более независимыми, для этого есть несколько систем, таких как RequireJS , которые имеют java-скрипт модули, которые объявляют зависимости от других модулей, и фреймворк обеспечивает их загрузку при необходимости.
Различные структуры различаются в зависимости от того, как объявляются зависимости, сколько обработки зависимостей выполняется в качестве шага сборки на сервере, при загрузке страницы или динамически по запросу, и в какой степени вы должны изменить способ написания Java-кода. скрипт.
Эти фреймворки не применяются так (или, возможно, вообще), если ваша серверная инфраструктура обрабатывает это или генерирует для вас ваш java-скрипт, но вы можете захотеть, чтобы ваш java-скрипт был независим от вашей серверной инфраструктуры.
Если у вас не слишком много java-скриптов, но вам нужна некоторая модульность, вы всегда можете придерживаться анонимных функций, вызывающих себя, которые обрабатывают зависимости, сначала упорядочивая теги скрипта с зависимостями и ссылаясь друг на друга, регистрируя себя с помощью одного объекта глобальное пространство имен. По крайней мере, это делает их почти модульными и не требует больших затрат на внедрение.
источник
Вот несколько инструкций о том, как сделать модульный дизайн: https://class.coursera.org/saas/lecture/preview/9
также это: « SOA можно увидеть непрерывно, от более старых концепций распределенных вычислений и модульного программирования , через SOA и до современных практик гибридных приложений, SaaS , ...»
Организация кода HMVC сама по себе не обязательно приводит к модульности.
источник