首页 > 其他分享 >可修改性战术

可修改性战术

时间:2023-03-10 20:14:23浏览次数:39  
标签:连锁反应 战术 接口 修改 可修改性 变更

4.可修改性战术

软件怎样具有可修改性,这里将介绍两种战术。

首先说明一下可修改性战术。可修改性战术的目标是控制实现、测试和部署变更的时间和成本。在具体的解释为根据相关战术,策略在时间和成本允许的范围内完成系统的相关变更。

以下讨论两种可修改性战术:局部化修改和防止连锁反应

局部化修改战术,目标是把变更限制在一定范围,在设计期间为模块分配职责,把预期变更限制在一定范围内。关键点就是“限制变更范围”防止变更的内容对其他内容(或者说程序)产生影响。

防止连锁反应。我们平时编程无论是写函数还是写类,都会被其它的类或函数(方法)调用,如何实现对被调用部分的修改不会引起对调用它的部分的影响,这就是可以防止连锁反应。

无论是局部化修改还是防止连锁反应,都是基于“高内聚,低耦合”思想。那么根据软件设计模式的设计原则来分析:

(1)局部化意味着实现“模块化”思想,这里模块这样解释,一个模块只完成一个部分,这就符合设计模式中“单一职责原则”的设计原则,使每一个模块责任单一,防职责过多引起引起整体变更时的繁琐,复杂;

(2)要符合“接口隔离”设计原则,为后期的变更提供接口,当然也要规定接口调用的规范。同时根据“里氏代换”原则将接口的实例化由接口实现类完成,在此之上基于“依赖倒转原则”搭建的上层服务如果需要修改相关服务可以实现局部化修改,不用再对上层服务进行修改。在防止连锁反应的战术中“维持现有接口”就是为上层服务提供一个可使用的接口,当进行变更时对接口的实现类变更即可,无论是实现“适配器”还是“信息隐藏”都可封装在接口实现类中。

(3)降低模块之间的依赖性是防止连锁反应的必要条件。可据“迪米特法则”来实现。所谓“迪米特法则”,在C++中可理解为“友元”,java理解:在类与类间加入第三方类作为沟通,信息交流的“缓冲”,两个类间不直接相互依赖。这种第三方类可叫做“朋友”,可叫做“仲裁者”。在设计模式中可表示为“桥”“调停者”“代理”“工厂”,这些都是为了降低类间依赖。当然这又产生一个问题:大量使用第三方类使程序繁琐,复杂,这就需要架构师设计好一个明确的类图了。

以上基于软件设计模式分析了两个可修改性战术。

标签:连锁反应,战术,接口,修改,可修改性,变更
From: https://www.cnblogs.com/liuchao437/p/17204535.html

相关文章

  • 大型网站可修改性解决方案
    大型网站的可修改性是一个非常重要的问题,因为这些网站通常需要经常进行修改和更新,以适应不断变化的市场和用户需求。为了解决这个问题,开发人员需要使用一系列的技术和最佳......
  • 大型网站架构可修改性阅读笔记
    当今互联网时代,大型网站架构的可修改性是至关重要的,因为网站需要不断地更新和改进以适应不断变化的市场和用户需求。在这种背景下,实现可修改性需要考虑多个因素,如架构设计......
  • 软件质量之可修改性
    软件的可修改性:软件质量属性中的可修改性是指容易修改的能力,其包括修正,改进和用户需求的变化。今天阅读了《大型网站技术架构:核心原理与案例分析》,里面没有明确的......
  • ATT&CK v10版本战术介绍执行(下篇)
    一、引言在上期文章中我们介绍了ATT&CK执行战术前6项技术内容,本期我们为大家介绍执行战术后7项技术内容,后续会陆续介绍ATT&CK其他战术内容,敬请关注。​二、ATT&CKv10简介MI......
  • ATT&CK v10版本战术介绍—持久化(一)
    一、引言在前几期文章中我们介绍了ATT&CK中侦察、资源开发、初始访问、执行战术知识,本期我们为大家介绍ATT&CK14项战术中持久化战术前6项技术,后续会陆续介绍持久化战术其他......
  • 2023-01-28 量学基础 战术 板枪,或者回马枪 109
    1.主力来没来?高倍平梯2.主力走没走?前方下跌是否缩量3.主力管不管?之后是否跌破高量柱,或者倍量柱的1/2或者1/34.上方是否有压力?是否有大阴柱套牢盘5.主力是否再次进......
  • 拓端tecdat|R语言资产配置: 季度战术资产配置策略研究
     概要有人已经表示有必要在战术资产配置(TacticalAssetAllocation,简称TAA)策略中使用共同基金而不是ETF。不是使用半月更新(每月两次),而是每季度更新,因为许多平台不允许更......