非分层应用程序的模式

时间:2009-06-28 09:25:26

标签: architecture pipe data-processing poeaa

在企业应用程序架构模式中,Martin Fowler写道:

  

这本书是关于你的   分解企业应用程序   分层以及这些层如何工作   一起。最不平凡的企业   应用程序使用分层   某种形式的建筑,但在某些形式   情况其他方法,如   管道和过滤器,很有价值。一世   不要进入那些情况,   而是集中在一个方面   分层架构,因为它是   最有用的。

用于构建非分层应用程序/应用程序部分的模式是什么?为金融机构采用统计建模引擎。可能有一个数据访问层,但我希望大多数代码都在一个层中。你还期望看到这样一层中的四人帮模式吗?域模型怎么样?你会使用OO,还是纯功能?

引用提到管道和过滤器作为图层的替代模型。我可以很容易地想象一个这样的引擎使用管道来打破数据处理。还有哪些其他模式?是否存在诸如任务调度,结果聚合或工作分配等领域的常见模式? MapReduce有哪些替代方案?

1 个答案:

答案 0 :(得分:1)

我认为Fowler的意思是在分层应用程序中,重点是组织层之间的“垂直”解耦通信。

另一种架构是SOA(面向服务),其重点是组织组件之间的“水平”解耦通信。 (在一个组件中,实现可以使用任一模型)。这不是什么新鲜事。此水平模式的其他实例是COM / COM +,CORBA,工作流,现在是“消息传递”或ESB体系结构。