Прояснение чистой архитектуры
Я читал это от дяди Боба:
http://blog.8thlight.com/uncle-bob/2012/08/13/the-clean-architecture.html
![enter image description here]()
У меня есть несколько вопросов, чтобы уточнить:
- Могут внешние круги ссылаться внутрь, пересекая несколько границ. Например, могут ли контроллеры обращаться к структурам данных в Entities?
- Каковы различия между корпоративными бизнес-правилами и бизнес-правилами приложений. Например, каковы различия для чего-то вроде stackoverflow? Какими должны быть правила бизнес-приложений stackoverflow и бизнес-правила предприятия?
- Есть ли пример кода, на который я могу ссылаться, в основном, ориентируясь на веб-приложения.
Спасибо
Ответы
Ответ 1
- Лучше всего, если круги не пересекают несколько границ. Знание должно быть ограничено.
- Корпоративные правила - это правила, применимые к нескольким приложениям. Правила приложения специфичны для одного приложения. Существует много приложений, основанных на идее, и они имеют множество одинаковых бизнес-правил. Этими правилами были бы правила предприятия. Но есть только один переполнение стека. Правила, которые делают его уникальным, - это правила приложения.
- Да, примеров много. Просто найдите "Примеры чистой архитектуры". Если у вас есть копия одной из двух моих книг: "Agile Software Development: Principles, Patterns and Practices" или "Agile Prinicples, Patterns and Practices in С#", то пример работы с зарплатой - хороший пример этой архитектуры.
Ответ 2
В дополнение к ответу Роберта Мартина, я бы хотел добавить.