Может ли кто-нибудь суммировать или маркировать список типов вещей, которые идут в каждом слое, и какие слои есть в дизайне типов MVC, если вы учитываете инъекцию зависимости?
Я не нашел никаких чистых диаграмм, которые помогли бы мне выяснить, куда или попытаться пойти более подробно, не написав целую книгу.
Я занимаюсь приложениями для форм Windows (включая проектирование базы данных сервера SQL) уже 3 года как моя единственная функция на работе, и никто более опытный со мной. Я пытался разбить вещи на чистые слои так, чтобы я мог самостоятельно разобраться, основываясь на презентации, бизнесе, базе данных.
Однако, основываясь на чтении примеров Внедрение зависимостей в .net , создается впечатление, что бизнес-логика должна быть сердцем приложения с отдельным уровнем, который указывает на конкретную реализацию базы данных. Затем пользовательский интерфейс переходит на уровень представления, контроллер просто обеспечивает уровень абстракции / отображения для того, что пользователь может делать на уровне модели, бизнес-логика переходит на уровень модели, а база данных / linq-to-sql - на уровне базы данных. Где все может зависеть от уровня модели, но это не должно зависеть ни от чего.
Чтобы вы могли переместить сердце из типа X в:
- Окна формы
- Asp.net
- Asp.net MVC
- Silverlight
- Что-нибудь еще
право? Будет ли подход с 4 слоями / проектом охватывать такие вещи? Я полагаю, будет 5, если вы добавите слой TDD.
Я не против читать книги, но у меня есть много чего почитать (3 дома, 1 на работе, 3 заказано, 1 для колледжа), которые уже достаточно толстые. Оба эти подхода имеют громких сторонников, но, похоже, конфликтуют в целом.