比方A产品有个a模块,B C模块功能类似,但是有一点小不同,难道是把A的代码copy到B C 去改吗?那比如B的这个模块,又做了一些设计,然后同步给AC,也是去拷贝B的代码吗?有没有什么更好的方式呢 。
如果功能少可以将类似功能统一用自定义函数进行封装,用行参绑定各功能方法,当各模块要调用这些功能时,通过传参调用该函数所定义的相关方法即可;功能多且复杂时建议定义一个类来管理,相同功能统一创建一个类方法(函数)进行管理,后续需要添加其他功能就继续添加类方法(函数),你的ABC模块需要什么功能就去调相关类方法(函数)就行了。
要么做成接口,然后不同的模块去调用,通过参数来区别对待
或者做成基类,其他模块去继承就可以了
你的功能有A B C 三种
A功能下面 有A-1, A-2, A-3 小功能
B功能下面 有 B-1, B-2 ,B-8 小功能
C功能下面 有 C-1 ,C-a ,C-b 小功能
写代码的时候把功能做分三个层, 底层 把共同的功能 “ 1 ” 写成一个公用的功能,给A B C用
中层 把 “ 2 " 写成一个公共功能, 提供给A B用 , 单独给C 写a小功能
最上层, 就是他们各自独有的特点做到他们各自的模块中去 3,8,b 等
目的就是让你代码中一样的功能可以重用,一样的功能公共引用, 不一样的功能写在各自模块中去
各个不同需求用不同维护方法
做成接口吧或者公共方法也可以,继承二次修改
把A的代码封装成一个类,之后在BC中可以调用A中的代码和函数