多版本软件构建策略分析

主要分析存在多个版本特性时的软件构建策略。多个版本特性在有些情况下仅仅对应于软件的本地化,复杂的情况就是不同版本中模块的业务逻辑、呈现策略都不相 同。这不仅在产品开发过程中增加成本,更多的成本将在维护阶段体现出来。因此,选择一个合适的构建策略对降低开发与维护成本都是非常重要的。

一、传统软件构建策略

不同的版本采用不同的代码,通过派生或直接使用不同的代码实现。每个版本都会对应到一份的这个版本相关的代码。在代码发布成产品时,我们还需要一个build过程,将源码打包发布成可执行文件。


这里体现多版本特性的代码可能简单可能复杂,关键要看软件整体的设计对多版本的支持。

1.1 采用strategy模式实现

模块A能访问到本地策略,根据不同版本的差异实现Local1、Local2来实现具体的用户需求。

这里存在几个问题。
一、系统中的层次结构很复杂,如果模块E同样也需要根据版本特性来确定自己的行为,这时可能有两种方式:将ILocal层层传递,从A到C再到E;采用singleton模式。不过这两种方式都破坏了对象的封装性。
二、ILocal中的方法会非常多。系统中所有的版本差异都将放到ILocal的方法中,很快这些方法就会失去控制。那是否可以对特性分类处理呢,将某一类特性放到一个接口中可以降低ILocal的管理成本,但没有从本质上解决问题。
三、Local实现类会随着项目的推进,或者在维护过程中变得

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值