Как продумывать архитектуру java приложения?

Как научиться правильно продумывать архитектуру приложения?
То-есть какие классы нужны приложению, какие излишнее.
Может учебник какой то посоветуете?
  • Вопрос задан
  • 2368 просмотров
Пригласить эксперта
Ответы на вопрос 3
Losted
@Losted
Software Architect
Обычно архитектура пляшет от бизнес-требований, так что просто "идеальной архитектуры в вакууме" не существует.
После осмысления бизнес требований начинается выбор подхода к разработке приложения. Грубо говоря, крайности: "все пилим сами" vs "берем все готовое". После этого этапа у нас есть либо выбранный фреймворк, либо пустой проект в IDE =)
Далее, делим приложение на слои: данные, логика, сервисы, представление и т.д. И только после этого начинаются классы. В случае фреймворка - надо смотреть что диктует фреймворк (гуглить в сторону patterns/best practices об этом фреймворке). Если пилим сами, то опираемся на опыт, паттерны и снова на требования. Неплохая книга для этого: www.amazon.com/Design-Patterns-Elements-Reusable-O...
Ответ написан
Комментировать
@aol-nnov
> Может учебник какой то посоветуете?
google://паттерны проектирования java
Ответ написан
Комментировать
leahch
@leahch
3D специалист. Dолго, Dорого, Dерьмово.
Да зачем ее продумывать?! Пишем класс, пишем еще 10. О! Потом заводим пакет! О, еще 10 пакетов. Что-то пошло не так... Рефакторим - Мартин Фаулер злобно хихикает.
Еще рефакторим, еще и еще.... Икона - Мартин Фаулер.
Заказчики в трансе, разрабочики тоже... А мы все рефакторим и рефакторим..
(сарказм)
А структура приложению все-же нужна.
1) Начните с постановки задачи
2) Потом определите архитектуру приложения
3) Определите как эта архитектура будет расширяться
4) Начинайте писать
5) Ну, если не получилось - рефакторить
6) Закрыть проект - он бесполезен...

Ах, ну я же забыл про тесты. И их тоже можно рефакторить.
Agile Way to Hell.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы