• 分布式计算的模式语言读后感--基线架构


    基线架构:

    (来自http://xuliangyong.iteye.com/blog/321945)

    架构基线的定义 
    架构是最终系统的一个早期版本,也称为架构基线。架构基线是整个系统的子集,我们称之为骨架系统(skinny system)。这个骨架系统包含了项目结束时的“丰满(full-fledged)”系统所具有的模型的一个版本。它包含了相同的子系统、组件和节点的骨架(skeleton),但是并非所有的“肌肉(musculature)”都已齐全。 

    架构基线的优点 
    架构基线能够为其他开发任务坚定坚实的基础,是开发组不再需要进行太多的开创性(高风险)工作----rup中架构基线里程碑的提出,其理论基础便源于此 
    在项目早期就解决所有高难度 高风险问题 永远是项目管理追求的目标 

    架构基线的缺点 
    只要缺少整体的结构规划 或者通用问题 高风险问题未被解决,后续工作就无法进行。

    第五章从 仓库管理系统出发,介绍了怎么划分大泥球。层次怎么分解。再从每一个层所遇到的问题开始引入模式。最后以 一个总结结尾。
    (来自http://blog.csdn.net/bxyz1203/article/details/7295748)
    1、为了解决大泥球的问题,引入了 Layer 与 Domain Object 基本是一个垂直一个水平来拆分系统。Layer模式 主要给系统分层, 分为了,表现层、业务处理层、业务对象层、基础设施层、访问层。再在 业务对象层用了 Domain Object 抽象业务。
     
    2、在业务处理层中,模块之间需要访问,我们采用了 Explicit Interface与Encapsulated Implementation模式。
     
    3、接下来需要解决表现层与 业务处理层的访问关系。针对此点我们采用了Broker 模式。实现他的就是一个通信中间件。
     
    4、表现层 需要分离用户的界面,采取了 MVC的模式。
     
    5、为了解决全局对象分布的问题,采取了 Half-Object plus Protocol 模式.主要是把对象 分为几部分,独立部署,当client需要数据时可以从本地的Half object拿到对象。
     
    6、支持并发的领域访问,采取了 Active Object模式。此在web 异步化中应用很广泛,具体就是 client 访问 service的时候,client 提交请求后可以忙活别的,等 service结束的时候可以采取相应的措施 让客户端知道。
     
    7、为了解决可扩展的并发性。采取了 Leader/Followers 模式。具体就是 有一个 线程环,当请求需要响应时,从其中环的下一个节点拿出一个线程即可。此实现简单优雅。
     
    8、对于领域对象与数据库关系的对应,此又有许多的模式,也是比较难解决的问题。一般是增加一层,叫数据访问层。此层使用 Database Access Layer等模式。
     
    9、最后为了支持 模块的可动态卸载,可动态装配采取了资源管理的一个模式,Component Configurator模式

    小结:

    模式 应用
    Layer分层 根据不同抽象层次划分应用功能
    Domain Objcet 领域对象 在同一抽象层次内部划分和模块化应用功能
    Explicit Interface显式接口 为领域对象提供定义良好的访问接口
    Encapsulated Implementation封装实现 提供并封装领域对象的实现
    Broker 代理 定义通信中间件的基线架构
    Model-view-controller 模型-视图-控制器 将应用功能和表现及控制器区分开来
    Half-Object plus Protocol 支持贯穿分布式边界的联盟式领域对象
    Active object 为领域对象必须支持的请求调度提供并发性支持
    Leader/followers 为需要大吞吐量的领域对象提供并发性支持
    database access Layer 将应用功能从数据库细节中解脱出来
    Component Configuration 由可重用组件为应用提供动态配置功能

    参考文献:

     1.http://xuliangyong.iteye.com/blog/321945

     2. http://blog.csdn.net/bxyz1203/article/details/7295748

  • 相关阅读:
    用goto做异常处理
    零长度数组的妙用
    DTMF三种模式(SIPINFO,RFC2833,INBAND)
    Myeclipse下的struts2.3.8 配置 保证绝对好用
    Linux内核--内核数据类型
    Linux内核:kthread_create(线程)、SLEEP_MILLI_SEC
    3.4.4 数据预留和对齐(skb_reserve, skb_push, skb_put, skb_pull)
    Linux 2.6内核中新的锁机制--RCU
    Linux中SysRq的使用(魔术键)
    CentOS Linux服务器安全设置
  • 原文地址:https://www.cnblogs.com/davidwang456/p/4485197.html
Copyright © 2020-2023  润新知