SantehnickЯ имел ввиду этот топик) Здесь я такого не советовал. Потому что тут не было повода. ТС нигде не написал, что будет разрабатываться
фреймворк. Даже наоборот, он указал, что будет разрабатываться конкретный проект.
Все, что вы с таким пылом описали, годно только для фреймворка. Ибо никто и никогда в трезвом уме и при памяти не меняет СУБД у действующего приложения. Такое можно представить только в страшном сне.
Другое дело, если планируется универсальное приложение. Последнее время повальное увлечение фреймворками привело к тому, что многие (это я и имел ввиду, когда писал про
всех) стали во главу угла ставить именно универсальность, а это обратно пропорционально производительности и прозрачности кода.
Универсальность нужна тогда, когда нужен вал. Когда приложения пекутся как пирожки на конвеере. Тогда да, паттерны позволяют добиться глубочайшего уровня абстракции. Соответственно скорости разработки. Только для чего она нужна в штучном проекте?
С той же базой. Есть в репозитории несколько легких классов для работы с конкретными СУБД, на кой писать универсального монстра, если те же модели все равно пишутся под конкретику? Не будут запросы для Postgre работать в SQLite и так далее. Значит при переходе с одной СУБД на другую мало универсального класса. Либо нужно кастрировать модели, оставив только то, что работает на пересечении. Это ахилесова пята всяческих ORM. Либо изменять их, что сводит на нет все усилия по "унификации".
С той же стратегией. А кто сказал, что нужно "допиливать код"? Вы просто не знаете, как можно сделать иначе, так как мыслите только шаблонами. Мне никто не запретит так же написать статические классы под каждую сеть, которые будут выдавать определенный набор данных и соединить их где то в одном месте. Можете это назвать стратегией, дело хозяйское, однако такой подход не вписывается в вашу доктрину.
А все, что не вписывается, вы тут же объявляете говнокодом. Еще раз говорю, таких холиваров полно. И толку от них нет, так как дальше теоретических выкладок обычно дело не заходит. Вот сейчас появилась возможность сравнить на практике, ждем.
Вы всегда говорите - шаблоны, это бэст практикс, потому что так делают
все. Только не всегда это оправдано. В данном случае я считаю - нет. Не оправдано. Учиться программировать и учиться шаблонно мыслить - совершенно разные, если даже не полярные вещи.
Вот если бы тема называлась как-нибудь "Пилим свой фреймворк", я бы смиренно молчал.
_____________
Если вам недостаточно собственных заблуждений, можно расширить их мнениями экспертов.Нужно уважать мнение оппонета. Ведь заблуждаться - его святое право.Настаивал, настаиваю и буду настаивать на своем. На кедровых орешках.