Два подхода к слоям приложения

Обсуждаем, как правильно строить приложения
Ответить
Аватара пользователя
samdark
Администратор
Сообщения: 9489
Зарегистрирован: 2009.04.02, 13:46
Откуда: Воронеж
Контактная информация:

Два подхода к слоям приложения

Сообщение samdark »

Хорошая статья, заставляет подумать: http://sergeyteplyakov.blogspot.ru/2016 ... tural.html
Аватара пользователя
yiijeka
Сообщения: 3103
Зарегистрирован: 2012.01.28, 09:14
Откуда: Беларусь
Контактная информация:

Re: Два подхода к слоям приложения

Сообщение yiijeka »

По мне так это просто выделение модулей, со всеми вытекающими мыслями...

Всё до поры до времени удобно. Да - удобно "логин" выделить в отдельную папочку, но как и всё в SOLID нужно использовать только тогда, когда в этом есть необходимость. Постоянное разделение на папочки будет удобно до тех пор, пока логика не пересекается. Как только появится что-то общее для двух папочек - возникнут трудности...
Аватара пользователя
samdark
Администратор
Сообщения: 9489
Зарегистрирован: 2009.04.02, 13:46
Откуда: Воронеж
Контактная информация:

Re: Два подхода к слоям приложения

Сообщение samdark »

По сути да.
Аватара пользователя
yiijeka
Сообщения: 3103
Зарегистрирован: 2012.01.28, 09:14
Откуда: Беларусь
Контактная информация:

Re: Два подхода к слоям приложения

Сообщение yiijeka »

Feature Folders https://github.com/jbogard/ContosoUnive ... e/Features

Этот проект слишком прост, как и все примеры, которые мне встречаются при описании SOLID, DDD... Вот реальные, сложные в техническом плане проекте и главное долгоживущие, вот там наступают грабли. В таких проектах знание SOLID и DDD мне мешает сдвинуться с места, могу пол дня сидеть и бояться написать код. Обычно потом спустя два-три дня наступает прояснение с переосмыслением всей архитектуры участка приложения.... Но в целом написать приложение сразу по всем каноном - не реально.

Наверное так и должно быть.
Создаётся приложение-прототип быстро и абыкак, потом выявляются критические места - исправляются согласно известным принципам...
zelenin
Сообщения: 10596
Зарегистрирован: 2013.04.20, 11:30

Re: Два подхода к слоям приложения

Сообщение zelenin »

yiijeka писал(а):По мне так это просто выделение модулей, со всеми вытекающими мыслями...
на самом деле да. Автор противопоставляет якобы гигантские слои разбиению на feature folder, хотя это действительно обычная система модулей в том числе из которых и состоит приложение.
zelenin
Сообщения: 10596
Зарегистрирован: 2013.04.20, 11:30

Re: Два подхода к слоям приложения

Сообщение zelenin »

yiijeka писал(а):Feature Folders https://github.com/jbogard/ContosoUnive ... e/Features

Этот проект слишком прост, как и все примеры, которые мне встречаются при описании SOLID, DDD... Вот реальные, сложные в техническом плане проекте и главное долгоживущие, вот там наступают грабли. В таких проектах знание SOLID и DDD мне мешает сдвинуться с места, могу пол дня сидеть и бояться написать код. Обычно потом спустя два-три дня наступает прояснение с переосмыслением всей архитектуры участка приложения.... Но в целом написать приложение сразу по всем каноном - не реально.
Обычно легко можно выделить логический модуль как некую зону ответственности приложения, набросать к нему интерфейсы, через которые он будет общаться с остальным приложением, не думая о реализациях. А после уже начать идти сверху вниз, углубляясь от общего к деталям, при необходимости выделяя подмодули. Такой подход мне позволяет с минимальными временными потерями начать разработку.
В противоположность этому подходу действительно можно поставить случаи, когда заранее в голове возникает огромный пласт реализации, ты его не можешь "уложить" по полочкам, начинаешь много думать, не создавая код, и внутренне перегораешь.
Ответить