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

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

问题描述

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

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天全站免登陆