Шаблоны для неслоистых приложений - PullRequest
1 голос
/ 28 июня 2009

В шаблонах архитектуры корпоративных приложений Мартин Фаулер пишет:

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

Какие существуют шаблоны для создания неуровневых приложений / частей приложения? Возьмите механизм статистического моделирования для финансового учреждения. Может быть слой для доступа к данным, но я ожидаю, что большая часть кода будет в одном слое. Вы все еще ожидаете увидеть паттерны Gang of Four в таком слое? Как насчет доменной модели? Вы бы использовали OO вообще, или это было бы чисто функционально?

Цитата упоминает трубы и фильтры как альтернативные модели слоям. Я легко могу представить такой движок, использующий каналы как способ сломать обработку данных. Какие еще шаблоны существуют? Существуют ли общие шаблоны для таких областей, как планирование задач, агрегация результатов или распределение работы? Какие есть альтернативы MapReduce?

1 Ответ

1 голос
/ 11 марта 2010

Я думаю, что Фаулер имеет в виду, что в многоуровневом приложении основное внимание уделяется организации "вертикальной" разобщенной связи между слоями.

Другой архитектурой является SOA (Services Oriented), где основное внимание уделяется организации "горизонтальной" разобщенной связи между компонентами. (Внутри компонента реализация может использовать любую модель). В этом нет ничего нового. Другими примерами этого горизонтального шаблона являются COM / COM +, CORBA, рабочие процессы, а теперь и «обмен сообщениями» или архитектуры ESB.

...