设计模式day3-工厂模式
工厂模式
将实例化对象的代码提取出来,放到一个类中统一管理和维护,达到和主项目的依赖关系的解耦
简单工厂(静态工厂)
- 创建对象由工厂提供
- 创建型;由一个工厂对象决定创建出哪一种产品的实例
- 封装实例化对象的行为(代码)
- 用于:大量创建某种、某类、某批对象
public class SimpleFactory {
public Pizza createObject(String pizzaType) {
Pizza pizza = null;
if ("aPizza".equals(pizzaType)) {
pizza = new APizza();
pizza.setName("aPizza");
} else if ("bPizza".equals(pizzaType)) {
pizza = new BPizza();
pizza.setName("bPizza");
}
return pizza;
}
//或
//public static Pizza createObject(String pizzaType) {
//......
//}
}
工厂方法
- 对简单工厂类进行抽象
- 创建对象的抽象方法,由子类决定要实例化的类
- 将对象的实例化推迟到子类,(子类重写的方法,包含简单工厂里的createObject代码)
抽象工厂
- 接口
- 简单工厂+工厂方法的整合
- 对简单工厂的进一步抽象
以此纪念陪伴我十年的狗狗
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 三行代码完成国际化适配,妙~啊~
· .NET Core 中如何实现缓存的预热?