模板方法模式与外观模式
模板方法模式
模板方法模式在面向对象中经常使用,只不过我们可能没有意识。
模板方法模式指的是把一些公用的方法放在父类,一些方法放在子类中实现
举个🌰
父类Animals
public abstract class Animals{
private String name;
public void sleep(){
System.out.println(name+"sleep")
}
public abstract void bark();
}
子类:Cat,Dog
public class Cat extends Animals{
private String name;
public Cat(String name){
this.name=name;
}
@Override
public void bark(){
System.out.println("name"+"miaomiao")
}
}
public class Dog extends Animals{
private String name;
public Dog(String name){
this.name=name;
}
@Override
public void bark(){
System.out.println("name"+"wangwang")
}
}
在上面🌰中,sleep这个方法对于所有的子类都一样,所以由父类实现,而bark这个方法子类有不同的实现逻辑,所以交给子类实现
外观模式
外观模式是指提供一个接口,封装了若干个复杂的子系统,用户不用管子系统之间是如何调用的,只需要调用接口就好。
思考这样一个场景:
我们在买股票时,用户需要了解很多股票的相关信息,然后才能进行合适的组合。但是基金的出现打破了这个模式,用户只需要购买合适的基金,基金购买合适的股票组合,用户不需要再对股票信息有详细的了解。
这就是外观模式,基金就是我们提供的接口,股票就是被封装的子系统。
我有一壶酒
足以慰风尘
尽倾江海里
赠饮天下人