Please enable JavaScript.
Coggle requires JavaScript to display documents.
Управление сложностью ПО - Coggle Diagram
Управление сложностью ПО
-
Разное / KISS
-
-
Легкая читаемость
-
-
-
Умещать код в память
Компактный код для чтения опытными, общепринятый - новичками
Новичок видит много мелких деталей, опытный - мало крупных
-
-
-
-
Шаблоны проектирования
Состояние
Конечный автомат
-
Структура, пребывающая в одном из возможных состояний
-
Обертки
Декоратор
-
Позволяет реализовать через агрегацию наследование, в т.ч. множественное
-
Прокси
Не изменяет API, добавляет функциональность
-
-
P.S. Остальные шаблоны считаю очевидными, если придерживаться правил чистой архитектуры
-
-
Общение
С заказчиком
Сопротивляться добавлению новых функций, если архитектура еще не приспособлена под них
-
-
-
-
-
-
-
-
-
Верхние слои абстракции зависят от нижних, при этом максимально избегать связей внутри одного слоя
Не выносить преждевременно потенциально переиспользуемый код, т.к. его изменение будет нести больше рисков
-
IoC (инверсия контроля)
DI
-
DI container управляет компонентами, передавая в них зависимости из config
Фреймворк вызывает наш код (когда нужно), а не наоборот
Код пишется в заранее отведенных местах и связывается IoC-контейнером с помощью DI или Service locator
-
-
MV-паттерны
Контроллер может валидировать данные, являться фасадом/адаптером на пути к модели(бизнес-логике)
-