Размышления по поводу отличий в проектировании архитектуры для настольных и веб приложений
Всем привет. Дисклеймер я не очень опытный программист и только пытаюсь постичь проектирование и архитектуру, поэтому извините, если мои рассуждения покажутся вам глупыми.
Целый день сегодня мучился над планированием архитектуры бизнес логики приложения наподобие твиттера. Проект делаю для себя — для опыта. Написал список необходимых модулей/возможностей сайта и приблизительную реляционную модель, а дальше дело остановилось. Почему-то не получается абстрагироваться и придумать как будет выглядеть взаимодействие бизнес сущностей. Все упирается на конкретизации того, как будет получаться список пользователей и прочих тривиальных задачах. Хоть бизнес логика в такого проекта по идее и не сложная... Возможно проблема в том, что я стараюсь придумать сложность на пустом месте, и все можно реализовать практически простыми запросами к репозиториям.
Вечером пришла мысль, что в десктопных приложениях, в которых при каждом взаимодействии пользователя все данные не перезагружаются, все как-то проще придумывать. Решил для примера спроектировать аудиоплеер. Все оказалось намного проще. Сразу же сформировалась простенькая архитектурка необходимая в конкретных требованиях. UML диаграмма: i.piccy.info/...956633/Bezymian212nyi.png Извините за возможные ошибки в диаграмме, делал быстро и в полусонном состоянии, к тому же не очень фамильярен с UML, недавно начал изучать. Конечно же это простенькое приложение не в пример проще, чем в реальной жизни случается, но я уверен, что если бы пришлось расширять такую систему я бы справился.
В общем что думаете? Это только мне одному проще придумывать настольную архитектуру (я почти ничего не писал на десктопе, но имею кое-какой опыт веб приложений) или в чем тут фишка? Всем спасибо.
10 коментарів
Додати коментар Підписатись на коментаріВідписатись від коментарів