杜撰23种设计模式--工厂方法模式

发布时间 2023-10-23 07:59:03作者: NobodyHero

简单工厂的最大优点是在工厂类中完成了必要的逻辑判断,根据客户端的条件动态实例化相关的类即可。

但是缺点也在这里,如果我要添加一个case选择,就需要修改原有的类,等于说对扩展开发了的同时也对修改开放了,违反了开放封闭原则。

工厂方法模式,通过抽象工厂的选择,定义一个用于创建对象的接口,让子类决定实例化哪一个类。工厂方法使一个类的实力护延迟到其子类。

也就是本来添加一个case选择的修改从改工厂类,延迟到了修改客户端。

 水果接口,水果工厂

 

苹果,苹果工厂。 梨子类似

 

在客户端代码中,我们先创建具体的工厂,然后调用getFurit方法获取具体的水果,在调用吃的方法。