Как правило, руководствоваться развертыванием соображениями:
Как вы будете развертывать (т.е. что будете копировать на свой рабочий компьютер)?
Если вы развертываете упакованные компоненты (т.е. dll, jar, war, ...), то разумно организовать «библиотеку кодов» как коллекцию packaged набор файлов.
Таким образом, вы будете разрабатывать напрямую с помощью - dll, jar, war, ... - который будет развернут на производственной платформе.
Идея такова: если он работает с этими упакованными файлами, он все еще может работать в рабочей среде.
повторное использование кода между разнородными проектами, а не в рамках одного проекта.
Я утверждаю, что такой способ повторного использования проще в "компонентном" подходе (как тот, который обсуждался в вопросе " Ветви поставщиков в GIT ")
За более чем 40 текущих проектов мы достигли:
- техническое повторное использование путем систематической изоляции любого чисто технического аспекта в независимой структуре (обычно это структура журнала, структура исключений, KPI - ключевой показатель эффективности - структура и т. Д.).
Эти технические компоненты используются во всех остальных проектах.
- функциональное повторное использование путем установки четкой аппликативной архитектуры для разделения любой функциональной области (с учетом бизнес-требований и функциональных спецификаций) на четко определенные приложения. Как правило, это может включать, например, уровень шины, который также является хорошим кандидатом для предоставления услуг, повторно используемых любыми другими проектами.
Резюме:
Для большой функциональной области, когда один проект не поддается управлению, хорошая аппликативная архитектура приведет к естественному повторному использованию кода.