今天的讨论,深刻体会到了,通用程序的扩展性的重要。
场景分析: 不同业务在使用我们的通用程序时,会有个性化需求,如xx,我们程序现状就会无法满足个性需求,咋办? 只有改通用程序代码迎合个别业务项目,但是这个改动不是其他业务项目需要的。
面对场景的无奈:那我们这时会有俩选择,要么保留俩版本,如现在的1.0的xx版本;要么两个合并,但是通用程序体积功能臃肿了。
怎么解决这样的问题?
我想到的方案是:
前期我们需要做俩事,1、要高度抽象设计对外规范和接口。 2、要更加细粒度抽象化单个功能。
这俩是最大的难点,都是需要讨论该如何设计抽象。
仔细一想,思考如何解决这俩接口设计的问题,就是思考如何让代码更加高内聚,低耦合,然后才能科学合理的复用代码,保持强大扩展性,减少break change。