设计模式系列-工厂模式

综合2025-11-04 07:50:075

 

工厂模式属于创建型设计模式。设计是模式模式日常使用比较多的一种设计模式。比如Logback,系列Spring等框架中都大量使用该设计模式。工厂

上篇文章提到的设计简单工厂模式虽然在简单系统可以用一用,但是模式模式因为工厂类本身包含太多业务逻辑,而且如果想增加新的系列图表类型,需要修改工厂类等缺点。工厂所以我们的设计生产系统更多地使用工厂模式。WordPress模板

工厂模式为每一个类都定义一个单独的模式模式工厂类,该工厂类只负责创建单一的系列产品。

举个例子

通过工厂模式实现日志的工厂创建,为不同种类的设计Logger分别创建不同类型的工厂。

来看一下UML图:

来看一下代码如何实现。模式模式

先来定义一个Logger接口,系列以及LoggerFactory接口。

public interface Logger {     void writeLogger(); }  public interface LoggerFactory{     Logger createLogger(); } 

分别定义FileLogger和FileLoggerFactory。

public class FileLogger implements Logger {     @Override     public void writeLogger() {         System.out.println("File logger");     } } 

如果想增加新的IT技术网Logger直接实现Logger和LoggerFactory就好了,看一下客户端如何使用。

public class FileLoggerFactory implements LoggerFactory {     @Override     public Logger createLogger() {         //不同Logger的个性初始化工作         Logger logger =  new FileLogger();         return logger;     } } 

总结

工厂模式是创建型模式之一,日常使用比较多,每类产品都有对应的一个工厂类。工厂模式把简单工厂的内部逻辑迁移到了客户端,当需要对功能扩展时,只需要修改客户端就OK了。

本文地址:http://www.bhae.cn/news/283b29299424.html
版权声明

本文仅代表作者观点,不代表本站立场。
本文系作者授权发表,未经许可,不得转载。

全站热门

探索绝地求生电脑显示错误代码的解决方案(从错误代码解读到问题解决,让你畅享绝地求生游戏)

私藏系列:你或许从未听过的20个安卓开发工具

Python正在慢慢失去魅力

注解都不会用,怎让Java对你动情

解决戴尔电脑登录界面错误的方法(排查戴尔电脑登录界面错误的常见问题及解决方案)

Vue 3 的组合 API 如何请求数据?

数据结构与算法系列 - 深度优先和广度优先

国庆长假前,IT人员需要做好这几件事

友情链接

滇ICP备2023000592号-9