您的位置:首页 > 运维架构 > 网站架构

(翻译)软件架构样式

2012-03-27 23:35 197 查看
软件架构样式

Kalyan Bandarupalli著,hystar翻译

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

介绍

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

架构样式

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

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

客户端\服务器

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

这个应用是基于服务器的且需要支持多个客户端。

你正在构建通过浏览器开放的基于Web的应用

你想要对数据存储,备份及管理功能中心化。

基于组件的

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

你的应用有特殊的需求,其不包含UI或业务处理。

你的应用执行存储过程这种几乎没有或者很少输入的函数

你要创建一个可插拔的架构,其允许你将单独的组件进行更新或替换。

分层

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

你的应用很复杂

你想要提高应用的可维护性与可扩展性。

你的应用支持不同类型的客户端及不同的设备。

消息总线

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

你现有的程序与其它程序进行交互来完成一些任务。

你正在实现一个需要与外部应用交互的应用

你正在实现一个发布者\订阅者应用

MVC架构样式

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

你想要提高UI的可测试性并使UI的维护更简单

你想要将UI元素与UI处理代码相分离

你的UI处理代码并未实现任何业务逻辑。

SOA

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

你想要消费一个第三方暴露的服务。

你想要构建一个应用将一系列不同的服务组合到一个单独的UI中

你要创建一个SaaS(软件即服务)应用。

你要通过一个可发现的目录暴露服务。

本人才疏学浅,难免出现翻译错误,请不吝赐教。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: