软件架构设计模式

时间:2010-11-16 09:56:04

标签: design-patterns architecture

您能否告诉我有哪些可用的软件架构设计模式?

为了详细阐述我的问题,我想阅读不同的架构设计模式,并决定哪些适合我的项目要求?

例如,有企业应用程序设计模式,企业集成设计模式,ESB模式,SOA模式等。

5 个答案:

答案 0 :(得分:15)

模式出现在很多层面。架构模式(即架构风格)通常是范围最大的,涵盖系统的基本组织。设计模式处于多个协作对象的级别。 Bernd对Fowler和其他企业模式的建议是一个很好的建议。只要认识到这些模式往往比这些架构模式更具体:

  • 分层(即虚拟机模式)
  • 泥球大球
  • 管道和过滤器
  • 批次顺序
  • 以模特为中心(共享数据)
  • 发布 - 订阅
  • 客户端 - 服务器(和N层)
  • 对等网络
  • MapReduce的

架构模式通常适用于系统的运行时结构,但也可以应用于其模块或其硬件分配。一个常见的错误是认为分层模式在它真正适用于系统模块时(即,它的编译时依赖性)适用于运行时。当然,您可以在运行时

中镜像模块结构

我的书Just Enough Software Architecture, Fairbanks (2010)详细讨论了这些模式。其中大部分内容也包含在其他书籍中,包括Garlan & Shaw (1996)Taylor, Medvidovic, & Dashovy (2009)Documenting Software Architectures (SEI, 2010)

使用模式名称列表,您应该能够找到大量的网页(我已将其标记为社区Wiki,以便我们可以添加这些链接)。这些书也很有帮助,因为它们可以让您更深入地了解如何使用这些模式。

答案 1 :(得分:8)

阅读这些书:

  • Martin Folwler:企业应用程序架构模式
  • Gregor Hohpe,Bobby Woolf:企业集成模式:设计,构建和部署消息传递解决方案

答案 2 :(得分:5)

对于架构模式,请阅读Pattern-Oriented Software Architecture Volume 1: A System of Patterns。 讨论的模式是:

  • Pipes&过滤
  • 黑板
  • 经纪人
  • 模型 - 视图 - 控制器(MVC)
  • Presentation-Abstraction-Control(Hierarchical MVC)
  • 微内核
  • 反射

答案 3 :(得分:1)

对您的问题不太确定!你的一个标签是设计模式所以我会这样说: 如果您还没有阅读设计模式书,那么您需要先阅读设计模式书。 Head First Design Patterns很好。当您了解设计模式时,可以理解架构设计模式。

答案 4 :(得分:1)

另外,请查看patterns & practices组中的Microsoft 应用程序架构指南。请务必阅读第2版。

要获得软拷贝,请转到此处:http://msdn.microsoft.com/en-us/library/dd673617.aspx