zoukankan      html  css  js  c++  java
  • (翻译)软件架构样式

    软件架构样式

    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

  • 相关阅读:
    Spring MVC-表单(Form)标签-单选按钮(RadioButton)示例(转载实践)
    Ubuntu 16.04中VirtualBox 5.1使用U盘/USB设备的方法
    Spring MVC-表单(Form)标签-复选框集合(Checkboxes)示例(转载实践)
    Ubuntu 16.04下减小/释放/清理VirtualBox虚拟硬盘文件的大小
    关注点分离
    谈代码注释
    DelegatingFilterProxy类的作用
    GOPS 2018全球运维大会上海站 参会感悟梳理
    Java switch case
    Android 微信网址分享添加网络图片
  • 原文地址:https://www.cnblogs.com/mq0036/p/10534059.html
Copyright © 2011-2022 走看看