观察者模式的核心任务个人理解是主要是对依赖主题的变更提高更好地维护性。
当被依赖的东西发生了改变,依赖它的其他对象能及时的更新变更
模板方法
定义一个操作中的算法的骨架,而将一些步骤延迟到子类中,TemplateMethod使得子类可以不改变一个算法的结构即可以重定义该算法得某些特定步骤。
package com.ruishenh.designPatter.action.templateMethod;
public class TemplateMethodClient {
public static void main(String[] args) {
Shop shop = new IceCreamShop();
shop.buy();
}
}
abstract class Shop {
// 买东西
void buy() {
pay();
take();
}
public abstract void pay();
public abstract void take();
}
class IceCreamShop extends Shop {
@Override
public void pay() {
System.out.println("付冰激凌的钱");
}
@Override
public void take() {
System.out.println("服务员给了我冰激凌");
}
}
模板方法的核心就是把要做的一件事的框架给定好了,有些具体操作留给它的子类去完成。