千家信息网

设计模式之工厂模式-抽象工厂模式

发表于:2025-12-03 作者:千家信息网编辑
千家信息网最后更新 2025年12月03日,设计模式之工厂模式-抽象工厂模式抽象工厂模式:定义了一个接口用于创建相关或有依赖关系的对象簇,而无需明确指定具体类。我们来看看使用抽象工厂模式来实现的披萨项目。来源:凯哥Java(kaigejava)
千家信息网最后更新 2025年12月03日设计模式之工厂模式-抽象工厂模式


设计模式之工厂模式-抽象工厂模式

抽象工厂模式:

定义了一个接口用于创建相关或有依赖关系的对象簇,而无需明确指定具体类。

我们来看看使用抽象工厂模式来实现的披萨项目。

来源:凯哥Java(kaigejava)

先来看看项目结构:

说明:

1:工厂接口

2:两个实现类

3:订单对象

4:测试类。

看看具体代码:

IFactoryInterface:

BeiJinFatory:

FactoryOrderPizza

测试类:


三种工厂模式:

1:把对象的实例化放在简单的类里面,那么这种就是简单工厂模式(也叫静态工厂模式)

2:如果我们把对象实例化代码进行抽象,抽象成创建对象的方法跟具体的实例化(也就是其子类),这种就是工厂方法模式。工厂方法模式的意义:将对象的创建过程,由原来的在类里面创建延迟到子类里面来创建对象了。

依赖抽象原则:

1:变量不要持有具体类的引用。

理解:A a = new A();这种方式就是变量a持有A对象的具体引用。在工厂模式中,我们可以这么做:A a = SF("A");或者是 A a = create("A");或者是A a = new Factory(new CreateA());

2:不要让类继承自具体类,要继承自抽象接口或者抽象类。

我们需要知道,如果类A继承具体的类B。这样的强依赖关系不便于扩展。而我们使用接口或者抽象类的话,就很方便扩展了。

3:不要覆盖基类中已经实现的方法

我们在设计基类的时候,已经实现的方法原则上是所有继承此基类的子类公用的(通用的)方法。子类中无需进行覆盖即可使用的。如我们披萨案例中的披萨烘培、切割以及打包方法。

说明:

通过本篇加前两篇文章,我们已经把工厂模式讲解完成了。但是,说实话,凯哥自己都感觉讲的不是很明白。所以,在下一篇文章中,凯哥将对三种模式做对比,然后进行总结。希望可以通过下一篇文章能把工厂模式讲解明白。

代码已经上传git上面了。

联系凯哥--》凯哥Java(kaigejava)

或凯哥个人博客:www.kaigejava.com 个人博客上面可以私聊凯哥哦!




模式 工厂 对象 方法 接口 代码 子类 实例 就是 篇文章 披萨 设计 个人 博客 原则 变量 项目 测试 设计模式 说实话 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 518服务器 it游戏软件开发工作时间 美国主机服务器 网络安全毕业论文开题 网络安全遇到安全有权 北京软件开发人员外包报价表 深圳坐标软件开发与限公司 武汉国家网络安全基地用人 计算机网络技术半学期总结 我的世界星光阁服务器 代码提交到本地服务器 求生之路服务器如何投票换图 文献数据库中的主题字段常包含了 确保 软件开发安全 小规模软件开发服务的税率 审计软件开发项目 数据库查询参数提示信息怎么弄 供应优质软件开发 企业数据库基本信息库 海北州软件开发规范 法治江西网络安全知识竞赛答案 北京软件开发人员外包报价表 政府机关网络安全总结 越秀软件开发哪家不错 赛特斯网络技术负责人 网络安全相关知识案例 慧科新闻数据库天津大学 如何使用学校自建数据库下载论文 一台服务器能做几个云桌面 网络安全渗透工程师报名
0