Your Ad Here
首页 | 编程语言 | 网站建设 | 游戏天堂 | 冲浪宝典 | 网络安全 | 操作系统 | 软件时空 | 硬件指南 | 病毒相关 | IT 认证
软讯网络 > 编程语言 > Java > 架构的可退化性与无侵入性
【标  题】:架构的可退化性与无侵入性
【关键字】:
【来  源】:http://www.blogjava.net/canonical/archive/2005/12/22/25136.html

架构的可退化性与无侵入性

Your Ad Here     架构的可退化性(degragation)指的是架构的结构可以从元素比较丰富,层次比较多,比较复杂的情况退化到比较简单的情况, 而架构的无侵入性(non-invasive)指的是架构对于外部接入对象没有特殊的形式要求, 一般通过依赖注入(dependency injection)向接入的外部对象推送信息. 这两个概念之间存在着紧密的关联, 但并不等同. 无侵入性可以看作是架构的一种局部可退化性, 例如一个业务对象在正常工作的时候需要是完整的EJB对象形态, 而在编写的时候退化到普通的java对象(POJO). 架构的可退化性是一个比无侵入性更加广泛的概念:一个架构对外可以是无侵入性的, 但是它的实现本身可能相当复杂, 是不能退化的. 例如在一般的web表现层设计中, 很多人都试图提供一个RPC层, 将Web请求解析后映射为对java对象方法的调用. 通过一系列的描述文件, java对象本身可以完全不知道web层的存在, 因而这种设计在某种程度上可以看作是无侵入性的. 但是假如现在出现了性能问题,或者RPC层本身出现一些bug, 或者我们需要一些RPC层很难有效实现的映射规则, web层设计应该允许我们越过RPC层, 很方便的直接处理request和response, 这意味着在我们的架构设计中需要把边界划在web接口上(需要在这里定义基本的交互规范),而不仅仅是对象接口上.如果一个架构设计强制规定了一个不可越 过的RPC层, 则意味着该架构在这一点上是不可退化的.

    架构的可退化性是级列设计理论的一个自然推论, 它是对架构整体的要求, 需要同时考虑到架构本身实现的复杂性以及与外部接口的复杂性, 而不是仅仅考虑到对外部接入对象的复杂性的要求. 整个架构需要能够沿着复杂性级列scale down, 而不仅仅是scale up!
鼠标按住任意控件拖动窗口:【上一篇】
非常惭愧,还是学习不够多!:【下一篇】
【相关文章】
没有相关文章
【随机文章】
  • 了解笔记本电脑的各类接口
  • 魔方阵
  • 我的三年研究生(CS)学习与工作经历(ZT)
  • Internet Sockets 网络编程指南(一)
  • 2口紧凑型KVM切换器PS2KVM2
  • 百分百让QQ隐身好友显形的方法
  • 浅析制造业面临的供应链问题及解决方案(三)(王存)
  • 从编译Linux kernel说开来
  • Windows下如何建立DHCP服务器
  • 哲学家问题的算法
  • 【相关评论】
    没有相关评论
    【发表评论】
    姓名:
    邮件:
    随机码*
    评论*
          
    |  首 页  |  版权声明  |  联系我们   |  网站地图  |
    CopyRight © 2004-2007 软讯网络 All Rigths Reserved.