`
canonical
  • 浏览: 367121 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

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

阅读更多
    架构的可退化性(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!
分享到:
评论

相关推荐

    软件架构师教程,系统架构师讲义

    这部分将介绍如何识别架构退化,如何进行架构演进,以及重构的最佳实践,以保持系统的可维护性和适应性。 六、系统分析师的角色 对于系统分析师来说,理解软件架构是必不可少的。教程将探讨他们在需求分析、系统...

    基于中医思维的退化性骨关节病智能辅助诊断系统python源码+报告+数据+多种算法模型.zip

    基于中医思维的退化性骨关节病智能辅助诊断系统python源码+报告+数据+多种算法模型.zip基于中医思维的退化性骨关节病智能辅助诊断系统python源码+报告+数据+多种算法模型.zip基于中医思维的退化性骨关节病智能辅助...

    高级系统架构师培训文档

    理解软件架构的核心在于识别并解决关键问题,如性能、安全性、可扩展性和可维护性。一个良好的架构能够有效地支持系统的功能需求,并同时满足非功能性需求。 #### 在信息技术战略规划(ITSP)中的软件架构 在IT...

    论文研究-加速退化试验与加速寿命试验相结合的产品可靠性评估.pdf

    论文研究-加速退化试验与加速寿命试验相结合的产品可靠性评估.pdf, 提出加速退化试验与加速寿命试验相结合的对高可靠长寿命产品进行快速可靠性评估与寿命预测的新方法. ...

    数字图像的退化与复原

    数字图像退化与复原 数字图像退化和复原是数字图像处理中非常重要的问题。图像退化是由于各种原因,例如光学系统的像差、光学成像衍射、成像系统的非线性畸变、成像过程的相对运动、环境随机噪声等,导致图像质量...

    大数据-算法-一类具退化性非线性抛物方程组的定.pdf

    【大数据与算法在退化非线性抛物方程组中的应用】 大数据和算法在现代科学研究中扮演着至关重要的角色,特别是在解决复杂数学问题时,如退化非线性抛物方程组。这类方程组常出现在非牛顿流体力学、渗流理论、相变...

    贝贝百亿级服务架构及可用性保障实践.pdf

    在服务下沉和重构过程中,遵循领域分析、边界分析、接口定义等步骤,以确保服务的可维护性和扩展性。 - 数据层:为解决单库容量和性能问题,贝贝网引入了Cobarx分布式数据库中间件,实现垂直和水平拆分,动态读写...

    最新软件架构总结,根据业界大拿实战经验总结!

    在IT行业中,软件架构是构建复杂系统的核心环节,它决定了软件设计的质量、可维护性、扩展性和性能。本文将基于“最新软件架构总结”的主题,结合业界大拿的实战经验,深入探讨软件架构的关键知识点。 首先,软件...

    有限域上逻辑函数的退化性 (2010年)

    首先举例说明素域上逻辑函数退化性的相关结论并不能直接推广到一般有限域上,进一步讨论了一般有限域上逻辑函数的退化性与线性结构的关系。结果表明有限域上逻辑函数的退化性虽然和其0类线性结构之集U(0)f中的元素个...

    MySQL异步复制延迟解决的架构设计与运维架构

    ### MySQL异步复制延迟解决的架构设计与运维架构 #### 一、MySQL主从同步基本流程及延迟原因 在MySQL数据库系统中,主从复制是一种常见的数据同步方式,用于实现数据冗余和读写分离等功能。然而,在实际应用中,...

    Java高并发高性能分布式框架从无到有微服务架构设计.doc

    Java 高并发高性能分布式框架从无到有微服务架构设计 微服务架构模式(Microservice Architect Pattern)是当前热门的架构模式之一,它提倡将单一应用程序划分成一组小的服务,服务之间互相协调、互相配合,为用户...

    基于函数主元分析的多阶段退化过程建模与预测.pdf

    面对实际环境中退化过程的随机性、非线性及多阶段复杂性,本文提出了一种创新的建模和预测方法——基于函数主元分析(Functional Principal Component Analysis,FPCA)的多阶段退化过程自适应建模与预测。...

    淡水生态系统退化机制与恢复研究

    在现状调查的基础上,探讨了但水生态系统的退化现状、退化原因与机制,建立了退化评价体系与标准

    论文研究-具有一阶自回归测量误差的步进加速退化可靠性分析.pdf

    最后,通过激光器算例分析验证了本文方法的适用性和有效性,结果表明:与传统方法相比,本文方法建模合理性更优,且能有效提高产品退化可靠性分析精度,进而为产品合理维修决策的制定提供有力支撑.

    Java高并发高性能分布式框架从无到有微服务架构设计.docx

    1. **复杂度可控**:通过将大型应用拆分为微服务,每个服务的复杂度得以降低,服务边界清晰,有利于提高代码的可维护性和开发效率。 2. **独立部署**:每个微服务都可以独立部署,无需整体编译和部署整个应用,使得...

Global site tag (gtag.js) - Google Analytics