
设计模式之简单工厂模式学习笔记
发布日期:2021-05-06 23:31:31
浏览次数:13
分类:技术文章
本文共 1433 字,大约阅读时间需要 4 分钟。
前言
简单工厂模式,又叫做静态工厂方法模式。属于创建型工厂模式,但是不属于23中设计模式。学习简单工厂模式,是为了更好地学习工厂方法模式。
定义
简单工厂模式,即静态工厂方法模式,是由一个工厂对象决定创建出哪一种产品类型的实例。
结构模型
角色拆解分析:
简单实现
还是以笔记本电脑为例吧!
1.抽象产品类ProductX(父类)
public abstract class Computer{ //产品的抽象方法 public abstract void start();}
2.具体产品类Product:
//美帝良心想public class LenovoComputer extends Computer { @Override public void start() { System.out.print("美帝良心想启动了"); }}
//铁板熊掌普public class HpComputer extends Computer { @Override public void start() { System.out.print("铁板熊掌普开机了..."); }}
3.工厂类Factory:
创建各种类型的笔记本电脑对象
public class ComputerFactory { public static Computer createComputer(String type){ Computer computer=null; switch (type){ case "lenovo": computer = new LenovoComputer(); break; case "hp": computer = new HpComputer(); break; } return computer; }}
4.客户端调用工厂类
客户端直接调用工厂类的制造方法,并开机
public class UserClient { public static void main(String []args){ //用户要求组装铁板熊掌普并开机 ComputerFactory.createComputer("hp").start(); }}
优缺点
优点:用户直接输入参数即可得到对应的实例化对象,避免了直接实例化类,降低了耦合度
缺点:可实例化的类型在编译期间就确定了,增加新的类型意味着要修改工厂,违背了开放封闭原则。该模式需要提前知道所有要生成的类型,如果子类过多或者子类层次过多时不宜使用使用场景
1.工厂类负责创建的对象比较少;
2.客户只需要知道传入工厂类的参数,不用关心创建对象的逻辑;发表评论
最新留言
网站不错 人气很旺了 加油
[***.192.178.218]2025年04月05日 20时55分42秒
关于作者

喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
巧用VBA统一数字单位
2019-03-03
Transpose实现数组行列转置的限制
2019-03-03
用float/double作为中转类型的“雷区”
2019-03-03
golang中interface的一些语法缺陷的改进
2019-03-03
vue-router路由 学习笔记
2019-03-03
【数据库】第七章课后题
2019-03-03
第四章 串、数组和广义表 —— BF算法和KMP算法
2019-03-03
[选拔赛1]花园(矩阵快速幂),JM的月亮神树(最短路),保护出题人(斜率优化)
2019-03-03
DLA:一种深度网络特征融合方法
2019-03-03
leetcode114(二叉树展开为链表)
2019-03-03
java —— static 关键字
2019-03-03
在 Python 调试过程中设置不中断的断点 | Linux 中国
2019-03-03
使用开源可视化工具来理解你的 Python 代码 | Linux 中国
2019-03-03
硬核观察 | 有人在比特币骗局中损失了 10 个比特币
2019-03-03
使用 top 命令了解 Fedora 的内存使用情况 | Linux 中国
2019-03-03
8皇后问题 递归 函数调用是重点
2019-03-03
1541 +1 *2 ²
2019-03-03
面试别慌!阿里专家带你从【入门+基础+进阶+项目】攻破SpringBoot
2019-03-03
【Java面试】30个 Java 集合面试必备的问题和答案
2019-03-03