Проектирование Архитектуры, разделение проектов. Я "над мышлением"? - PullRequest
3 голосов
/ 04 декабря 2008

Представьте себе следующий сценарий:

Вам необходимо создать систему, в которой Back-end отделен от Front-end, что, конечно, всегда важно при программировании. Но что, если вы хотите полностью изменить внутреннюю часть, не меняя ее?

Например, при создании большого веб-сайта я бы использовал следующие проекты:

Данные - Обрабатывает все соединения данных, то есть файлы, сгенерированные LINQ, и другие частичные переопределения.

Интерфейсы - Этот слой интересен, это переполнение? Разделение интерфейсов объясняется тем, что у бизнес-логики и уровня данных может быть много общих интерфейсов, и вместо ссылки на уровень данных спереди вы можете ссылаться на уровень интерфейса, а затем бизнес-логика отправляет вам интерфейс вместо того, чтобы знать о правильных классах и структуре объектов данных на уровне данных.

Бизнес-логика - Это говорит само за себя, бизнес-логика для приложения.

Front End - Web, GUI или что-то еще, конечно, с учетом кода.

Мой вопрос действительно, это переполнение слоев и мышления? Может быть интерфейсный уровень не важен? Предложения? * * 1023

1 Ответ

3 голосов
/ 04 декабря 2008

Интерфейсный слой - это всего лишь слой в том смысле, что вы определяете его отдельно от всего остального. Интерфейс, однако, должен определять только границу службы, поэтому он не будет полон кода.

Я не могу понять, как вы собираетесь передавать интерфейс, не определив интерфейс передачи интерфейса, который является переусердствовавшим, я думаю.

Начните с простого набора интерфейсов, если вы хотите начать с разработки, но будьте готовы расширить их, если вы обнаружите, что не думали о каждой возможности заранее.

Так на самом деле, у вас есть

  • Данные + Интерфейс данных
  • Бизнес-логика + интерфейс
  • Frontend + Графический интерфейс пользователя

Где каждый слой использует и в некоторой степени инкапсулирует предыдущий. На самом деле не существует отдельного слоя для интерфейсов, или что бы вы поместили между слоями? Интерфейс просто означает границу между двумя вещами, поэтому используйте его как таковой.

Очень заманчиво обобщать и обобщать, но в итоге вы просто разрабатываете новый язык программирования или парадигму. В большинстве случаев это не является частью краткого описания.

Краткое! Конечно, мы забыли это. Начните с этого, определите свои интерфейсы и начните кодировать простейший вариант использования. По мере вашего развития мышление будет развиваться.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...