模板方法模式与外观模式

模板方法模式

模板方法模式在面向对象中经常使用,只不过我们可能没有意识。

模板方法模式指的是把一些公用的方法放在父类,一些方法放在子类中实现

举个🌰

父类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这个方法子类有不同的实现逻辑,所以交给子类实现

外观模式

外观模式是指提供一个接口,封装了若干个复杂的子系统,用户不用管子系统之间是如何调用的,只需要调用接口就好。

思考这样一个场景:

我们在买股票时,用户需要了解很多股票的相关信息,然后才能进行合适的组合。但是基金的出现打破了这个模式,用户只需要购买合适的基金,基金购买合适的股票组合,用户不需要再对股票信息有详细的了解。

这就是外观模式,基金就是我们提供的接口,股票就是被封装的子系统。

posted @ 2021-09-27 19:31  刚刚好。  阅读(127)  评论(0编辑  收藏  举报