组件协作模式通过晚期绑定,来实现框架与应用程序之间的松耦合,是二者之间协作时常用的模式
1.模板方法(Template method)
早绑定、晚绑定
2.策略模式(Strategy)
①Strategy及其子类为组件提供了一系列可重用的算法,从而可以使得类型在运行时方便地根据需要在各个算法之间切换
②Strategy提供了用条件判断语句以外的另一种选择,消除条件判断语句,就是在解耦合。含有许多条件判断语句的代码通常都需要Strategy模式
③如果Strategy对象没有实例变量,那么各个上下文可以共享同一个Strategy对象,从而节省对象开销
3.观察者模式(Observer/Event)
①使用面向对象的抽象,Obeserver模式使得我们可以独立地改变目标和观察者,从而使二者之间的关系达成松耦合
②目标发送通知时,无需指定观察者,通知会自动传播
③观察者自己决定是否需要订阅通知,目标对象对此一无所知