Шаблоны проектирования архитектуры программного обеспечения - PullRequest
13 голосов
/ 16 ноября 2010

Не могли бы вы рассказать мне о доступных шаблонах проектирования архитектуры программного обеспечения?

Чтобы уточнить мой вопрос, я хочу прочитать различные шаблоны проектирования архитектуры и решить, что соответствует требованиям моего проекта?

Например, есть шаблоны проектирования корпоративных приложений, шаблоны разработки Enterprise Integration, шаблоны ESB, шаблоны SOA и т. Д.

Ответы [ 5 ]

15 голосов
/ 16 ноября 2010

Паттерны встречаются на многих уровнях. Архитектурные шаблоны (то есть архитектурные стили), как правило, являются самыми большими по объему и охватывают фундаментальную организацию системы. Шаблоны проектирования находятся на уровне нескольких взаимодействующих объектов. Предложение Бернда о моделях Фаулера и других предприятий является хорошим. Просто поймите, что эти шаблоны имеют тенденцию быть более конкретными, чем эти архитектурные шаблоны:

  • Слоистый (т. Е. Шаблон виртуальной машины)
  • Большой Грязевой Шар
  • Труба и фильтр
  • Пакетная Sequential
  • Ориентированный на модель (общие данные)
  • Публикация-Subscribe
  • Клиент-сервер (и N-уровень)
  • Peer-равному
  • MapReduce

Шаблоны архитектуры чаще всего применяются к структуре времени выполнения системы, но также могут применяться к ее модулям или ее аппаратному распределению. Одна распространенная ошибка состоит в том, что шаблон Layered применяется к среде выполнения, когда он действительно применяется к системным модулям (т. Е. К зависимостям времени компиляции). Конечно, вы можете отразить структуру вашего модуля во время выполнения

Эти шаблоны подробно обсуждаются в моей книге Just Enough Software Architecture, Fairbanks (2010) . Большинство из них также описаны в других книгах, включая Garlan & Shaw (1996) , Taylor, Medvidovic, & Dashovy (2009) и Документирование архитектур программного обеспечения (SEI, 2010) ) .

Со списком имен шаблонов вы сможете найти множество веб-страниц (я пометил это как вики сообщества, чтобы мы могли добавить эти ссылки). Книги также полезны, потому что они дают вам более полное представление о том, как использовать шаблоны.

8 голосов
/ 16 ноября 2010

Прочитайте эти книги:

  • Мартин Фолулер: Шаблоны архитектуры корпоративных приложений
  • Грегор Хоуп, Бобби Вульф: Шаблоны корпоративной интеграции: разработка, создание и развертывание решений для обмена сообщениями
5 голосов
/ 25 февраля 2012

Для архитектурных шаблонов читайте Архитектура программного обеспечения на основе шаблонов, том 1: Система шаблонов . Обсуждаются следующие шаблоны:

  • Слои
  • Трубы и фильтры
  • 1010 * Blackboard *
  • 1012 * Брокер *
  • Модель-Вид-Контроллер (MVC)
  • Представление-Абстракция-Контроль (Иерархический MVC)
  • Microkernel
  • Отражение
1 голос
/ 11 декабря 2010

Кроме того, взгляните на Microsoft Руководство по архитектуре приложений из группы шаблонов и практик . Обязательно прочитайте 2-е издание.

Для распечатки перейдите сюда: http://msdn.microsoft.com/en-us/library/dd673617.aspx

1 голос
/ 16 ноября 2010

Не очень уверен в вашем вопросе!Ваш единственный тег - это шаблон дизайна, поэтому я скажу следующее: если вы не читали книгу шаблонов дизайна, то сначала вам нужно прочитать книги шаблонов дизайна.Head First Design Patterns - это хорошо.Когда вы можете понять шаблоны проектирования, тогда можно понять шаблоны проектирования архитектуры.

...