(翻译)软件架构样式

转载 2012年03月27日 23:35:32

软件架构样式

Kalyan Bandarupalli著,hystar翻译

架构样式是一套原则,你可以使用其来构建一个特定领域的典型的系统架构样式。实现软件架构样式依赖于你的组织实现架构样式的能力及基础性约束。这边文章解释了基于一种需求应该选择怎样的架构样式。

 

介绍

架构样式是一套原则,你可以使用其来构建一个特定领域的典型的系统架构样式。实现软件架构样式依赖于你的组织实现架构样式的能力及基础性约束。这边文章解释了基于一种需求应该选择怎样的架构样式。

 

架构样式

    我们一种典型的做法是将多种样式组合在一起定义一个完整的架构。例如分层架构可以与基于组件的,面向对象与SOA等样式一起使用。

下面是一个常用的软件架构样式的列表。

 

客户端\服务器

    当存在以下情况时,考虑使用这种样式

  • 这个应用是基于服务器的且需要支持多个客户端。
  • 你正在构建通过浏览器开放的基于Web的应用
  • 你想要对数据存储,备份及管理功能中心化。

 

基于组件的

当遇到以下情况是考虑使用基于组件的架构

  • 你的应用有特殊的需求,其不包含UI或业务处理。
  • 你的应用执行存储过程这种几乎没有或者很少输入的函数
  • 你要创建一个可插拔的架构,其允许你将单独的组件进行更新或替换。

 

分层

当遇到以下情况时可以考虑使用分层架构

  • 你的应用很复杂
  • 你想要提高应用的可维护性与可扩展性。
  • 你的应用支持不同类型的客户端及不同的设备。

 

消息总线

    当存在以下情况时,考虑使用这种样式

  • 你现有的程序与其它程序进行交互来完成一些任务。
  • 你正在实现一个需要与外部应用交互的应用
  • 你正在实现一个发布者\订阅者应用

 

MVC架构样式

当存在以下情况时,考虑MVC样式

  • 你想要提高UI的可测试性并使UI的维护更简单
  • 你想要将UI元素与UI处理代码相分离
  • 你的UI处理代码并未实现任何业务逻辑。

 

SOA

当遇到以下情况是考虑面向服务的架构样式:

  • 你想要消费一个第三方暴露的服务。
  • 你想要构建一个应用将一系列不同的服务组合到一个单独的UI中
  • 你要创建一个SaaS(软件即服务)应用。
  • 你要通过一个可发现的目录暴露服务。

 

本人才疏学浅,难免出现翻译错误,请不吝赐教。

相关文章推荐

Handbook of Software Architecture 软件架构手册 [翻译]

1. 引言 软件架构是软件工程学中一个正高速发展的子研究和实践领域. 软件架构是程序或计算系统的结构,包括软件组件、那些组件的外部可见的属性,以及那些组件之间的关系. 软件架构对于系统非常重要...

RUP软件架构文档 翻译

  • 2008年05月14日 17:12
  • 118KB
  • 下载

结合领域驱动设计的SOA分布式软件架构

 引言 本文主要是参考Martion Fowler所著的《企业应用架构模式》与Eric Evans所著的《领域驱动设计》这两本泰山之作,加上本人在近年实际的工作过程中开发SOA系统所认识到的问...

软件架构之一 -------CORBA

CORBA、DCOM、WebService 一、公共对象请求代理体系结构   (CORBA)         CORBA(Common Object Request Broker Ar...

19. OP-TEE中TA与CA执行流程详解-------软件架构篇

要使用OP-TEE来实现特定的安全功能就需要开发者根据自己的实际需求开发特定的CA和TA程序,并将TA集成到OP-TEE中。CA端负责实现在RTOS端userspace层面的对外接口,而TA端的代码则...

使用JSP访问MySQL数据库软件架构7

1数据连接池(DBCP): 数据库连接的建立和关闭是非常耗费系统资源的操作。数据库连接 池的解决方案是在应用程序启动时建立足够的数据库连接,并将这些连接组成一个连接 池,由应用程序动态的对池中的连...

Apache CXF软件架构指南-中文

http://cxf.apache.org/docs/cxf-architecture.html#CXFArchitecture-TableofContents http://cxf.apach...

Android开发软件架构思考以及经验总结

欢迎关注我的知乎:井方哥 前言架构设计,到底是什么呢?基于这段时间的学习和自己的一些思考,我认为架构是基于产品和技术所达成的一种共识。我不是专业的架构师,也不是经验老道的开发者。本文目的有三,一是整理...
  • JF_1994
  • JF_1994
  • 2016年12月25日 16:31
  • 9400

好的框架SSH倡导的好的Java EE软件架构纪实9条

1、在学习框架的过程也许会有少许的坎坷,但一旦掌握了框架的使用,将大幅度地提高应用的开发效率,而且好的框架所倡导的软件架构还会提高开发者的架构涉及知识。 2、贫血模式简单、直接,系统分层清晰,比较实用...

android MVP框架 – Ted Mosby的软件架构

原文: http://www.devtf.cn/?p=551 作者:Hannes Dorfmann 原文链接 : Ted Mosby – Software Architect 文章出自 : Andr...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:(翻译)软件架构样式
举报原因:
原因补充:

(最多只允许输入30个字)