Robert Martin

Чистая Архитектура - Часть VI - Детали

Чистая Архитектура - Часть VI - Детали

Переводы: EN

Книжный клуб у нас в компании выбрал следующую чудесную книгу для чтения:

Роберт Мартин - Чистая Архитектура - Искусство Разработки Программного Обеспечения

Robert Martin - Clean Architecture - a Craftsman’s Guide to Software Structure and Design

👍

Часть VI подрывает некоторые устои 😀:

  • Вы знаете, что База Данных - это “деталь”? Неважная второстепенная низкоуровневая необязательная функция, которой можно пренебречь при проектировании архитектуры!
  • Вы знаете про Веб тоже самое? Это просто неважное устройство ввода-вывода, которым также следует пренебречь при проектировании архитектуры!
  • А как насчет фреймворков? То же самое. Не женитесь на своём фреймворке. Используйте безопасный, а еще лучше - удаленный секс. 🤣
  • Несколько примеров того, как похожие архитектуры могут приводить или не приводить к проблемам. И что использовать, чтобы избежать проблем (спойлер: Инкапсуляцию)
  • Все вышеперечисленное и краткий недостающий совет…

Вобщем, отличная информация! Все подробности в моих ментальных картах:

Чистая Архитектура - Часть V - Архитектура

Чистая Архитектура - Часть V - Архитектура

Переводы: EN

Книжный клуб у нас в компании выбрал следующую чудесную книгу для чтения:

Роберт Мартин - Чистая Архитектура - Искусство Разработки Программного Обеспечения

Robert Martin - Clean Architecture - a Craftsman’s Guide to Software Structure and Design

👍

Пятая часть книги содержит МНОГО полезной информации:

Что такое архитектура ПО? Какие типы взаимозависимостей могут существовать? Как провести границы между компонентами? Какие типы границ существуют? Как распределить политики по уровням? Что такое бизнес-правила, сущности и варианты использования? Что архитектура может и должна “кричать”? Описание Чистой Архитектуры.

Чистая Архитектура - Часть IV - Принципы дизайна

Чистая Архитектура - Часть IV - Принципы дизайна

Переводы: EN

Книжный клуб у нас в компании выбрал следующую чудесную книгу для чтения:

Роберт Мартин - Чистая Архитектура - Искусство Разработки Программного Обеспечения

Robert Martin - Clean Architecture - a Craftsman’s Guide to Software Structure and Design

Четвертая часть книги посвящена принципам объединения компонентов в программные системы.

Эта часть более интересна. Она содержит:

  • Обзор истории компонентов: возможность перемещения в памяти, линкеры
  • Три принципа связности компонентов
    • REP: Принцип эквивалентности повторного использования и выпусков
    • CCP: Принцип согласованного изменения
    • CRP: Принцип совместного повторного использования
  • Три принципа соединения компонентов
    • ADP: Принцип ацикличности зависимостей
    • SDP: Принцип устойчивых зависимостей
    • SAP: Принцип устойчивости абстракций

Мне особенно понравилась эта глава из-за представленных метрик, которые можно использовать для измерения (!) хорошего дизайна ПО (точнее говоря того, как вы следуете некоторым принципам дизайна)

Чистая Архитектура - Часть III - Принципы дизайна

Чистая Архитектура - Часть III - Принципы дизайна

Переводы: EN

Книжный клуб у нас в компании выбрал следующую чудесную книгу для чтения:

Роберт Мартин - Чистая Архитектура - Искусство Разработки Программного Обеспечения

Robert Martin - Clean Architecture - a Craftsman’s Guide to Software Structure and Design

👍

Третья часть книги посвящена принципам SOLID.

SOLID
  • Принцип единственной ответственности: модуль должен быть ответственным перед одним и только одним действующим лицом.
  • Принцип открытости-закрытости: программный артефакт должен быть открыт для расширения, но закрыт для модификации.
  • Принцип подстановки Барбары Лисков: S является подтипом T, если вместо экземпляра T мы всегда можем использовать экземпляр S
  • Принцип разделения интерфейсов: используйте интерфейсы для уменьшения зависимости от изменений.
  • Принцип инверсии зависимостей: избегайте зависимостей от летучих конкретных элементов.

Ничего нового отсюда я не узнал (но я занимаюсь разработкой программного обеспечения уже более 20 лет;). Тем не менее, это все же хорошее обобщение основных принципов проектирования. И о них стоит помнить.

Чистая Архитектура - Часть II - Начальные основы: парадигмы программирования

Чистая Архитектура - Часть II - Начальные основы: парадигмы программирования

Переводы: EN

Книжный клуб у нас в компании выбрал следующую чудесную книгу для чтения:

Роберт Мартин - Чистая Архитектура - Искусство Разработки Программного Обеспечения

Robert Martin - Clean Architecture - a Craftsman’s Guide to Software Structure and Design

👍

Книга пока поверхностная. Вот обзор второй части:

Есть три парадигмы программирования:

  • Структурированное программирование - накладывает ограничение на прямую передачу управления.
  • Объектно-ориентированное программирование - накладывает ограничение на косвенную передачу управления.
  • Функциональное программирование - накладывает ограничение на присваивание.

Все три парадигмы говорят о том, чего НЕ ДЕЛАТЬ.

Чистая Архитектура - Часть I - Введение

Чистая Архитектура - Часть I - Введение

Переводы: EN

Книжный клуб у нас в компании выбрал следующую чудесную книгу для чтения:

Роберт Мартин - Чистая Архитектура - Искусство Разработки Программного Обеспечения

Robert Martin - Clean Architecture - a Craftsman’s Guide to Software Structure and Design

👍

Краткий обзор первой части:

  • Цель архитектуры ПО
    • уменьшить человеческие трудозатраты на создание и сопровождение системы
  • Две ценности ПО
    • Поведение (функционал) - удовлетворить требованиям заинтересованных сторон
    • Структура (архитектура) - сложность внесения изменений должна быть пропорциональна содержанию, а не “форме” изменений
  • Легкость внесения изменений более важна чем фунционал!
    • Разработчик ПО должен бороться 🤺 за это с другими заинтересованными сторонами!
Part I - Introduction

Скачать всю майнд-мапу в PDF