tgoop.com/emacsway_log/1423
Last Update:
О книге "Balancing Coupling in Software Design: Universal Design Principles for Architecting Modular Software Systems" by Vlad Khononov.
Эта книга об искуссте побеждать. Eric Evans говорил, что "Software design is a constant battle with complexity". И как показывает практика, далеко не все проекты на рынке одерживают победу в этой борьбе со сложностью. Стоимость разработки иногда возрастает экспоненциально, а рентабельность падает с таким же ускорением.
Для одержания победы в Самбо не нужно быть сильнее противника - достаточно противопоставить свои сильные группы мышц против его слабых групп мышц в болевом приеме.
В одном фильме красиво было сказано: "Искусство воевать заключается в том, чтобы быть сильным в нужное время в нужном месте."
Что произойдет, если атлет в фитнесс-зале во время приседания пренебрежет техникой безопасности и будет держать спину неровно? Вес штанги больше не будет равномерно распределяться по всей площади позвонка, пятно контакта уменьшится, удельная нагрузка возрастет, и предел прочности позвонка может оказаться недостаточным, чтобы выдержать вес. То же самое может происходить и с ИТ-проектом. Эта книга о том, как создать красивого атлета, а не больного человека.
Какое главное правило инвестора на фондовом рынке? Диверсификация, т.е. распределение рисков таким образом, чтобы каждая категория риска не превосходила допустимый предел финансовой устойчивости.
Плавучесть судна обеспечивается водонепроницаемыми переборками, обеспечивающими превосходство гидростатической подъёмной силы над силой тяжести воды в месте пробоины.
Видели когда-нибудь как море режет скалы? Обязательно посмотрите - вдохновляет. Стекающие капельки воды прорезают в камне бороздки и углубляют их до тех пор, пока глыба не обрушится. Капля против скалы! Вода камень точит!
Почему ледокол преодолевает толщи льда, а корабль - нет? Ледокол атакует лед в том направлении, в котором способен обеспечить силовое превосходство. Он атакует его сверху, где сила сопротивления льда наименьшая. А корабль - с торца, где силовое превосходство остается за льдом, поскольку в горизонтальной плоскости толща льда простирается на сотни километров.
Лед сильнее ледокола. Но ледокол способен создать силовое превосходство в нужное время в нужном месте. Этого достаточно, чтобы шаг за шагом проложить маршрут полностью.
Понимание этого принципа позволило человеку покорить Северный Полюс!
Высокая концентрация сложности программного кода может превосходить ограничения краткосрочной памяти человека. Победа над сложность достигается минимизацией объема программы, о котором нужно думать в конкретный момент времени, т.е. возможностью рассмотреть фрагмент сложности изолированно, чтобы при этом уровень рассматриваемой сложности не превосходил ограничения краткосрочной памяти человека.
Легко звучит. На практике этому часто препятствует то, что мы называем Coupling. Искусство управления Coupling формируется лучшими умами отрасли уже несколько десятилетий. Эта книга является наиболее полным, исчерпывающим руководством, финализирующим все достижения человечества в этой борьбе со сложностью. В борьбе, которую ведет каждый программист каждый день.
Эта книга о том, как покорить Северный Полюс в разработке программного обеспечения.
BY emacsway-log: Software Design, Clean Architecture, DDD, Microservice Architecture, Distributed Systems, XP, Agile, etc.

Share with your friend now:
tgoop.com/emacsway_log/1423