(翻译)软件架构样式

软件架构样式

Kalyan Bandarupalli著,hystar翻译

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

介绍

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

 

架构样式

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

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

 

客户端\服务器

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

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

 

基于组件的

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

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

 

分层

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

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

 

消息总线

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

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

 

MVC架构样式

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

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

 

SOA

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

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

 

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

 

出处:https://www.cnblogs.com/lsxqw2004/archive/2009/09/24/1573538.html

posted on   jack_Meng  阅读(385)  评论(0编辑  收藏  举报

编辑推荐:
· 没有源码,如何修改代码逻辑?
· 一个奇形怪状的面试题:Bean中的CHM要不要加volatile?
· [.NET]调用本地 Deepseek 模型
· 一个费力不讨好的项目,让我损失了近一半的绩效!
· .NET Core 托管堆内存泄露/CPU异常的常见思路
阅读排行:
· DeepSeek “源神”启动!「GitHub 热点速览」
· 微软正式发布.NET 10 Preview 1:开启下一代开发框架新篇章
· C# 集成 DeepSeek 模型实现 AI 私有化(本地部署与 API 调用教程)
· DeepSeek R1 简明指南:架构、训练、本地部署及硬件要求
· NetPad:一个.NET开源、跨平台的C#编辑器
历史上的今天:
2018-03-14 C#中DateTime的缺陷 ---- 代替品DateTimeOffset
2018-03-14 java打jar包的几种方式详解
2018-03-14 计算机的本质 ---- 起源
2017-03-14 谈谈敏捷开发
2017-03-14 C# 读xml注释或过滤xml注释
2014-03-14 制作一个64M的U盘启动盘(mini linux + winpe +dos toolbox)
2013-03-14 java 连接 Access数据库的两种方法

导航

< 2025年2月 >
26 27 28 29 30 31 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 1
2 3 4 5 6 7 8
点击右上角即可分享
微信分享提示

喜欢请打赏

扫描二维码打赏

支付宝打赏

主题色彩