@AlexFox2019
Junior Java Developer

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

Всем привет. Пишу свою утилиту (маленькая прога для генерации нужной мне доки из wsdl файла, пишу сам чтобы чему-то научиться :)). Застрял на банальном вопросе: как организовать (правильно, быдлокод пишу и так) иерархию/структура классов - реализация чтения данных из разных источников (разные файлы, база и т.д.) . Подскажите кто понимает как сделать. Что почитать по этому вопросу в целом. Спасибо огромное.
П.С. И да вся стандартная фигня типа уходи из ИТ и т.д. - шагайте сами))). Прошу нормального, конструктивного ответа))
  • Вопрос задан
  • 532 просмотра
Пригласить эксперта
Ответы на вопрос 4
VoidVolker
@VoidVolker
Dark side eye. А у нас печеньки! А у вас?
Примерно так:
20b039b972.png
В целом логика следующая:
  1. Сделать декомпозицию задачи
  2. Установить взаимосвязи элементов
  3. Нарисовать схему и логику взаимодействия элементов

И вот на основе данной схемы намного проще понять и разобраться какие классы, структуры, интерфейсы и прочее требуется.
Ответ написан
Комментировать
Beshere
@Beshere
Разработчик
Правильная архитектура - это высший пилотаж. К этом идут, и не все доходят.

Для начала советую взять на вооружение следующий принцип. Хоть какая-то архитектура начинает появляться, когда код разделяется на независимые блоки с неизменными хорошо описанными интерфейсами. Вот сидишь, пишешь программу абы как и тут понимаешь, что этот блок пишешь уже десятый раз - пора его выносить в отдельную функцию. Со временем такие куски с первого раза видишь и начнёшь обрастать своими библиотеками, строительный запас которых сделает твой код лаконичным и гибким.

Этого было бы достаточно, чтобы быть хорошим программистом в 20 веке. Увы, дальше придётся учиться:
1. "Чистая архитектура" Мартин
2. "Совершенный код" Макконнелл
3. Паттерны ООП https://refactoring.guru/ru
Ответ написан
Комментировать
@developer007
никак
это только с опытом приходит
Ответ написан
BorLaze
@BorLaze
Java developer
Алекс, тебя не смущает классическая иерархия программистов Джун-Миддл-Синьор-Архитект?

Извини, но твой вопрос из серии "новобранец спрашивает, как научиться стратегическому мышлению уровня маршала".

Дорастешь до синьора - сам начнешь понимать. Пока - никак.

Для примера: "как организовать (правильно, быдлокод пишу и так) иерархию/структура классов - реализация чтения данных из разных источников (разные файлы, база и т.д.) " - ну, скажу я тебе, что надо либо организовать общий интерфейс и фабрику ридеров (вариант А), или же реализовать это в виде стратегий (вариант Б) - это сильно поможет?
Ответ написан
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы