组件:构成业务模块最基本的组成单元。
例如:生活中的手机,是由一个个的小元件组成的,处理器,喇叭,触摸屏等等,一个个的组件组成;同理,开发中的组件概念,相当于一个不可再分拆的一个功能,如工具类,选择图库,网络请求,评论等等
业务(模块):由一个个的独立功能的组件组合构成,完成一个业务模块,如美食,电影,读书等等
=============================================
我们常说的组件化开发,一般是指的业务模块的拆分开发。
=============================================
为什么进行分业务模块开发?
1.工程大,编译慢。
2.模块间跳转耦合强。
怎么做?
分业务模块开发,单独编译,运行快,解耦
怎么交互:中间人————>服务中心
假设有两个模块,ModuleA和ModuleB,服务中心ModuleC
问题:A要从B中获取想要的数据,如某个列表数据
方案一:A直接访问列表接口,从服务器端获取
方案二:A通过B访问完数据,从B拿到数据
方案三:B对外开放接口,根据C的规范提供给C,A想要什么数据根据C的规范从C获取
对比方案:
方案一:如果接口有改动,A和B都必须跟着改动
方案二:如果接口改动,B改动,A在B处获取数据的方法还有数据结构可能会发生改变,需要改动
方案三:如果接口改动,B改动,但是提供给C的数据,还是必须按照之前约定的方式去提供,所有C和A都不需要改动
所以,得出结论:方案三最优,可以实现模块的任意变动不会影响到例外的模块。耦合性大大降低。
所以模块化开发交互最重要的就是服务中心。