-
常用的设计模式
-
简单工厂模式(Factory)
类 特点 穷举 建型 复杂工厂模式的思维模型。
不属于23种设计模式之一。
Spring 中的 BeanFactory,根据传入一个唯一的标识来获得 Bean 对象,但是否是在传入参数后创建还是传入参数前创建要根据具体情况来定。
由一个工厂类根据传入的参数,动态决定应该创建哪一个产品类。
解决产品与用户之间的问题。批量生产
标准化public interface Milk { public String getName(); } public class Telunsu implements Milk { @Override public String getName() { return "特仑苏"; } } /** * 简单工厂模式 **/ public class SimpleFactory { public Milk getMilk(String name){ return switch (name) { case "蒙牛" -> new Mengniu(); default -> null; }; } }
-
工厂方法模式(Factory Method)
类 特点 穷举 建型 对于调用者来说,隐藏了复杂的逻辑处理过程,调用者只关心执行结果。
对于工厂来说要对结果负责,保证生产处符合规范的产品。
将对象的创建和使用相分离,应用程序将对象的创建及初始化职责交给工厂对象。流水线生产 /** * 工厂方法模式 */ public interface FuncFactory { /** * 统一的产品出口 * @return 产品 */ Milk getMilk(); } public class TelunsuFactory implements FuncFactory { @Override public Milk getMilk() { return new Telunsu(); } } /** * 抽象工厂模式 */ public abstract class AbstractFactory { public abstract Milk getTelunsu(); } public class MilkFactory extends AbstractFactory { @Override public Milk getTelunsu() { return new TelunsuFactory().getMilk(); } }
-