软件架构设计模式 [英] Software architecture design patterns

查看:83
本文介绍了软件架构设计模式的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

您能教我一些可用的软件体系结构设计模式吗?

Can you please educate me on what are the software architecture design patterns that are available?

为了阐明我的问题,我想通读不同的体系结构设计模式,并确定哪种适合我的项目要求?

To elaborate my question, I want to read through different architecture design patterns and decide what suits my project requirements?

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

For example, there are Enterprise application design patterns, Enterprise Integration design patterns, ESB patterns, SOA patterns etc.

推荐答案

模式出现在许多级别.架构模式(即架构样式)通常范围最大,涵盖系统的基本组织.设计模式处于几个协作对象的级别.伯恩德(Bernd)对福勒(Fowler)和其他企业模式的建议是一个很好的建议.只需意识到这些模式往往比这些建筑模式更具体:

Patterns occur at many levels. Architecture patterns (i.e., architectural styles) are generally the largest in scope and cover the fundamental organization of the system. Design patterns are at the level of several collaborating objects. Bernd's suggestion of Fowler's and other enterprise patterns is a good one. Just recognize that those patterns tend to be more specific than these architectural patterns:

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

体系结构模式通常适用于系统的运行时结构,但也可以适用于其模块或硬件分配.一个常见的错误是认为分层模式实际上适用于系统模块时(即其编译时依赖性)适用于运行时.当然,您可以在运行时镜像模块结构

Architecture patterns most often apply to the runtime structure of the system, but can also apply to its modules or its hardware allocation. One common mistake is to think that the Layered pattern applies to the runtime when it really applies to a system's modules (i.e., its compile-time dependencies). You can, of course, mirror your module structure in the runtime

这些模式已在我的书中详细讨论,就足够了费尔班克斯(2010),软件体系结构..其中的大多数内容也包含在其他书籍中,包括 Garlan&肖(1996)泰勒,梅德维迪维奇和& Dashovy(2009)记录软件体系结构(SEI ,2010).

These patterns are discussed in detail in my book, Just Enough Software Architecture, Fairbanks (2010). Most of them are also covered in other books including Garlan & Shaw (1996), Taylor, Medvidovic, & Dashovy (2009), and Documenting Software Architectures (SEI, 2010).

使用模式名称列表,您应该可以找到很多网页(我将其标记为社区Wiki,以便我们可以添加这些链接).这些书也很有帮助,因为它们使您对如何使用模式有更多的了解.

With the list of pattern names, you should be able to find plenty of web pages (I've marked this as a community Wiki so that we can add those links). The books are helpful too because they give you more insight on how to use the patterns.

这篇关于软件架构设计模式的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆