Стандарты N уровня развития
Я новый пользователь n-уровня разработки, и мне интересно, как я могу определить количество слоев для использования? Я знаю структуру и подразделения DAL и BLL, но некоторые пользователи могут разделить свои проекты на несколько уровней, в зависимости от того, по каким причинам разработчик должен сделать это более или менее уровнями? это производительность и функциональность? пожалуйста, объясни.
также есть стандартное количество ярусов?
2 ответа
Чтобы управлять разработкой и обслуживанием приложений, необходимо разделить приложение на логические (и физические) блоки / группы - каждая из которых посвящена определенной проблематике (с точки зрения функциональности, инфраструктуры или некоторых других). Деление может быть вертикальным и / или горизонтальным. Слой - это горизонтальное разделение, в то время как вертикальное разделение происходит с точки зрения предметной области (модули / подмодули). На очень широком уровне количество уровней определяется на основе степени разделения интересов, которые вы хотите достичь. Общими уровнями являются доступ к данным, бизнес-логика, представление. Но вы можете сделать больше, например, бизнес-фасад, который предоставляет более простой API поверх бизнес-логики, или уровень сервисов, позволяющий интегрировать внешнее приложение с вашим, и так далее. Каждый слой может иметь подслои и так далее. И могут быть сквозные проблемы, такие как ведение журнала, безопасность, контрольные журналы и т. Д.
Уровень указывает на физическое разделение слоя (-ов). Многоуровневое распределение выполняется таким образом, что разные уровни можно масштабировать независимо друг от друга. Таким образом, вы можете использовать сервер базы данных, сервер приложений (бизнес-уровень) и веб-сервер (хостинг презентаций) в качестве уровней.
Рекомендую прочитать эту статью, чтобы понять больше о слоях и уровнях.
Как более сложное или большее приложение лучше иметь больше уровней, так что вы можете разделить задачи как DAL, BLL и т. Д. И написать модульный тест отдельно для каждого уровня. Но для небольших приложений это будет слишком сложно и замедлит процесс разработки.