🕸
Как рождаются и почему работают системы 🕸
В начале моей карьеры меня интересовало: “как и зачем появился MVC, MVVM, DDD, Clean Architecture и другие архитектурные паттерны? А главное, почему это работает?”
Дальше, уходя в предринимательнство у меня стали возниакть вопросы: почему работает именно такие правила построения фирмы, деления ответственностей, определения продуктов, бизнес-процессов и подобного
Я нашел ответ и самое крутое, что он относиться к абсолютно любым системам: лекарства, науки, дисциплины, все что может определяться как “методологи”, etc.
Система – это много раз повторенный и проверенный в схожих ситуациях набор вариаций понятий / объектов / действий / etc. из который были выделены вариации, достигающие цель в более 90% случаев
Поэтому, если правильно взвесить требования и условия, подобрать под них готовую систему и начать следовать ее правилам, есть большой шанс, что она будет как минимум “приемлемой”
Да не “идеальная”, но задачи решать вы сможете
И так до момента пока задачи не кончаться или придет время подбирать и использовать новую систему под изменившиеся условия
Так стартап начинает с общего канбана и MVC framework монолите на бэке, а со временем перерастает в наборы холакратических кругов каждый со своей методологией менеджмента и развития и кучей распределенных микросервисов, написанных с использованием DDD
А урок тут следующий:
Если вам очень хочется “полностью с нуля придумать свою систему” (менеджмента, бизнеса, архитектуры приложения, etc.) сначала тресните себя хорошенько по яйца и попробуйте найти и имплементировать (с доработками) уже какую-то готовую систему и если по-прежнему свербит сильнее чем боль в машонке, то ударьте себя еще раз и тогда начинайте изобретать что-то свое
Но, скорее всего, вы обнаружите, что подходящая система под ваши условия уже есть (вы в 99% случаев не уникальны), ее осталость только немного подштриховать под вашу ситуацию
#architecture