模块
模块可以当作一个业务。同理业务可以当作一个模块。当某个模块在项目中运行时,它必然是可以在其他地方以相同的数据格式,来运行该业务(模块)。
下面举例:
假设有两个模块,ModuleA和ModuleB,服务中心ModuleC
问题:A要从B中获取想要的数据,如某个列表数据
方案一:A直接访问列表接口,从服务器端获取
方案二:A通过B访问完数据,从B拿到数据
方案三:B对外开放接口,根据C的规范提供给C,A想要什么数据根据C的规范从C获取
对比方案:
方案一:如果接口有改动,A和B都必须跟着改动
方案二:如果接口改动,B改动,A在B处获取数据的方法还有数据结构可能会发生改变,需要改动
方案三:如果接口改动,B改动,但是提供给C的数据,还是必须按照之前约定的方式去提供,所有C和A都不需要改动
所以,得出结论:方案三最优,可以实现模块的任意变动不会影响到例外的模块。耦合性大大降低。
所以模块化开发交互最重要的就是服务中心。
从中可以了解到,假如我们都设计了ModeluA、ModeluB以及ModeluC。我可把任何一个模块从中脱离其项目中去单独的运行,为另外一个项目做底层的数据支撑。
这样在往后中搭建新的项目环境时,直接采用相应的软件配置好环境,套用模块。来迅速的为项目配置底层代码。