Архитектурная доктрина для NestJS-проектов: разбор типовых сценариев деградации кодовой базы и структурные ограничения, обеспечивающие её отсутствие при росте функционала.
Рубрика «god object»
Feature Based Clean Architecture. Часть 1: Эволюция NestJS-приложения в неподдерживаемое состояние
2026-05-22 в 13:37, admin, рубрики: Feature-based, god object, nestjs, typeorm, TypeScript, антипаттерны, архитектура по, бэкенд, рефакторинг, технический долгПочему эволюция не прошла бы код-ревью: инженерный разбор гемоглобина
2026-03-31 в 8:10, admin, рубрики: god object, srp, антипаттерны, архитектура по, балансировка нагрузки, биология, гемоглобин, микросервисы, научпоп, эволюцияПредставьте, что вам на собеседовании дали задачу: спроектировать систему доставки газа по трубам переменного давления, причём система должна загружаться почти на 100% в зоне высокого давления, а разгружаться (быстро и почти полностью) в зоне низкого. Вы бы, наверное, нарисовали линейную зависимость. Больше давления — больше загрузка. Просто, и главное, что будет легко тестировать.
Эволюция посмотрела на этот вариант, подумала 500 миллионов лет и сделала всё наоборот.
Техзадание от природы
Предлагаю чуть формализовать. У нас есть два «дата-центра»:
-
ЛёгкиеЧитать полностью »
Принцип единственной ответственности: фундамент декомпозиции
2017-10-09 в 1:03, admin, рубрики: C#, design patterns, god object, singleton, solid, srp, Анализ и проектирование систем, ооп, Программирование, Проектирование и рефакторинг
Сейчас об этом принципе слышал любой, кто занимается программированием. Чуть меньше тех, кто думает, что его знает. Гораздо меньше тех, кто действительно умеет его использовать. Я постараюсь объяснить суть, назначение и применение этого принципа как можно проще и короче.
Определение
Каждый программный объект имеет одно и только одно назначение.
Его можно исчерпывающе описать одним предложением, не используя союзы.
Пример
Lazy<T> — обертка для объекта, чье создание откладывается до первого обращения к нему.
Антипример
Синглтон — класс, не допускающий создания более одного экземпляра. В этом описании нет союзов, но оно неполное — синглтон всегда имеет основную функциональность помимо контроля единственности собственного экземпляра. Синглтон — класс, реализующий полезную функциональность и контролирующий единственность собственного экземпляра. Теперь описание исчерпывающее, но имеет союз "и" — у синглтона два разных назначения. Он не соответствует принципу единственной ответственности.
Еще антипример
Локатор сервисов — позволяет получить доступ к любому сервису приложения. Это описание без исчерпывающего списка сервисов заведомо неполное.
Назначение
Упрощение создания, анализа и модификации программных систем.
