ты ставишь телегу перед лошадью. рамки не написаны, они выросли. см. Развивающиеся рамки от Ральфа Джонсона, одного из Банды четырех.
редактировать
Я не понимаю, что автор имеет в виду под "приложением", делает это
означает raw-coded-project или это означает проект с базовой функциональностью
который будет перенесен в более поздние рамки.
Либо, в зависимости от вашего опыта в программировании и проблемной области.
Это цель (полезная структура), которая важна, процесс должен просто поддержать вас
в достижении этого как можно лучше. Вы можете начать медленно, разрабатывать три приложения в одной и той же проблемной области без совместного использования кода.
и просто посмотрите на основы кода и посмотрите, что у них общего, и, возможно, проведите рефакторинг этих трех готовых приложений, чтобы объединить код и извлечь общие части.
Это не даст вам никакого ускорения во время разработки второго и третьего приложения,
но и это не помешает их развитию с одновременным рефакторингом предыдущих.
Допустим, вы хотите, чтобы инфраструктура облегчала написание на основе браузера, пошагового
стратегии.
Ваш первый ход - написать такую игру, не думая повторно использовать
код вне этой одиночной игры, но с вниманием к повторному использованию кода в
это: беспощадно рефакторинг, применять все принципы программирования: OCP ,
SRP , DRY и т. Д. Особенно DRY. Повторное использование кода (не повторять себя) является
основной принцип программирования, и первый шаг на пути к
фреймворк. Вы получите библиотеку классов и / или функций
которые используются в игре.
Ваш второй ход - писать, придерживаясь принципов, упомянутых выше,
другая основанная на браузере пошаговая стратегия, использующая код первого
игра. Вы обнаружите, что многое из этого относится к этой первой игре. использование
части, которые вписываются во второй без модификации, рефакторинг тех
которые полезны, но не совсем подходят, так что они полезны и подходят do
в обеих играх.
Повторите процедуру с третьей игрой.
Три - это наименьшее число, которое дает вам надежду на получение кода
который действительно многократно используется в проблемной области (триангуляция)
не гарантия, что это произойдет. OTOH, выводя полезную основу
без поддержки реальных приложений это верный способ покончить с
куча бесполезной хрени.
Джонсон:
Разработка многоразовых фреймворков не может происходить просто путем установки и
думать о проблемной области. Ни у кого нет понимания, чтобы придумать
с правильными абстракциями.
Внимательно прочитайте раздел «Три примера».