组件协作模式;主要是通过晚期绑定实现框架与应用之间的松耦合。
现在的软件开发都是分为框架与应用程序两部分,就以公司软件开发也是以这种模式的。
组件协作模式主要包括三种模式;
模版方法模式;用于有稳定骨架,但骨架中有存在变化点,将变化点交给子类实现
策略模式;调用算法的流程是稳定不变的,但算法是变化的。
观察者模式;一般应用于ui控件的通知和刷新
1、模版方法模式
概念;存在一个骨架是稳定的,把变化的给子类去做,本身用虚函数代替就可以了。
稳定方法写成实函数,变化的方法写成虚函数。
2、策略模式
调用算法的流程是稳定不变的,但算法是变化的。
面向对象的设计中不要以静态的形式去考虑问题,要动态的,加上时间轴来思考未来要考虑的事情,就有了变化和稳定的两种存在。
类模式的设计就是要以一种开发性扩展的方式去应对各种变化而不是去直接修改源代码。
策略模式就是使用扩展的模式应对未来算法层次的各种变化
3、观察者模式
定义;定义对象间的一种一对多(变化)的依赖关系,以便当一个对象的状态发送改变的时候,所有依赖于他的对象都可以得到通知并自动更新。
一般都是以ui控件通知为主。
举例;
总结;其实最后比较这三种模式和举例的图解,可以发现其中稳定框架和变化之间就是使用一个接口抽象类虚函数多态,利用构造函数传参进入。完整隔离变化区的。从而有了组件协作模式。三种模式分别对应了有固定的骨架的流程单个变化点时,有固定算法流程,算法变化时,UI界面通知时,三个大类时应该怎么去创建接口抽象类,来完整面向对象的设计类。