前言
工厂模式的核心本质就是减少了我们去new对象这样子的操作,工厂模式可以分为三种,简单工厂模式
,工厂方法模式
,抽象工厂模式
- 简单工厂模式
简单工厂模式本质上是违背开闭原则的,简单工厂模式把实例化的操作放到统一一个类里面,让这个类去决定创建哪种对象
- 工厂方法模式
工厂方法模式我觉得就是在简单工厂模式上加了一层,这样就能保证开闭原则了
- 抽象工厂模式
抽象工厂模式其实就是工厂的工厂,也就是一个超级工厂,他提供了一个抽象的工厂接口,他是所有工厂一般化的一种形态
传统模式
假如我们有一个饼干类,顾客想要买饼干,但是饼干有很多种,比如巧克力饼干,夹心饼干,压缩饼干等等
代码实现
//客户类
public class client {
public static void main(String[] args) {
//买一个巧克力饼干
Cookie cookie = new ChocolateCookies();
cookie.eatCookie();
//买一个夹心饼干
cookie = new CompressedCookie();
cookie.eatCookie();
//买一个压缩饼干
cookie = new SandwichCookie();
cookie.eatCookie();
}
}
//公共饼干接口
public interface Cookie {
public void name();
public void eatCookie();
}
//夹心饼干实现
public class SandwichCookie implements Cookie{
@Override
public void name() {
System.out.println("夹心饼干");
}
@Override
public void eatCookie() {
System.out.println("吃掉夹心曲奇");
}
}
//压缩饼干实现
public class CompressedCookie implements Cookie{
@Override
public void