日常技术积累-架构思路分析记录(一)

1.1          应用场景

应用为主线版本(主线版本为多个子版本的父类,拥有所有子类的主要功能),该版本由若干模块组成,每个模块有若干子功能,每个子功能可能有多个实现。在进行版本控制中,我们可以加入功能开关,来动态控制各个功能,然而随着子集规模的扩大,只用开关控制,可能会照成子版本的代码臃肿,增加维护难度,减低安全性等问题,由此在生成子版本时,应该删除不适用的子实现。基于此点,在实现逻辑架构时,应考虑各子功能的耦合性,及相互之间的依赖关系与控制逻辑。

1.2          样例

    以子功能A为例,有若干实现a1,a2,a3,a4。地区b1需要使用a1,b2使用a2

1.3          解决方案

   A 需要统一的对外接口类 a 。在界面实现等外部调用都是a。以降低各子类型在代码中的耦合性。

需要工厂类 Fa。生成不同的子实现对象。

管理类Ma。管理子功能。

常量类CNa。定义a,中各种常量

配置类CGa。设定子功能的各种实现及开关控制。

常量类CNa定义各个子实现对应的子类型,配置类CGa指向实现类型为a1 Ma获取配置CGa中信息,指向需要实现为a1,通过工厂类Fa生成a1

你可能感兴趣的:(日常技术积累-架构思路分析记录(一))