什么是工厂模式?
工厂模式是我们最常用的实例化对象模式了,是用工厂方法代替new操作的一种模式。著名的Jive论坛 ,就大量使用了工厂模式,工厂模式在Java程序系统可以说是随处可见。因为工厂模式就相当于创建实例对象的new,我们经常要根据类Class生成实例 对象,如A a=new A() 工厂模式也是用来创建实例对象的,所以以后new时就要多个心眼,是否可以考虑使用工厂模式,虽然这样做,可能多做一些工作,但会给你系统带来更大的可扩 展性和尽量少的修改量。
工厂模式的好处?
1、将对象的创建分离出来,利于维护,降低耦合,提高内聚
2、利用多态,统一创建过程
面向接口编程:设计模式的一个重要原则是针对接口编程,不要依赖实现类。工厂模式遵循了这一个原则。
开闭原则(Open-Closed Principle,OCP) “Software entities should be open for extension,but closed for modification”。翻译过来就是:“软件实体应当对扩展开放,对修改关闭”。这句话说得略微有点专业,我们把它讲得更通俗一点,也就是:软件系 统中包含的各种组件,例如模块(Modules)、类(Classes)以及功能(Functions)等等,应该在不修改现有代码的基础上,引入新功 能。开闭原则中“开”,是指对于组件功能的扩展是开放的,是允许对其进行功能扩展的;开闭原则中“闭”,是指对于原有代码的修改是封闭的,即不应该修改原 有的代码。
工厂模式的使用?
1、简单工厂
创建产品接口,具体产品实现产品接口,工厂类根据参数统一创建产品。
实现了多态,调用者得到的是产品接口,但是调用产品接口的方法,具体的实现是产品的(子类对象指向父类的引用,属于运行时多态)。
调用者不再关注创建对象的过程,只需要提供参数,降低耦合。工厂类统一管理创建对象的过程,提高内聚。
今后添加新的产品,只需要改动工厂类,改动产品,也只改动工厂类,利于维护。
2、多个工厂方法
与简单工厂不同的是,使用多个方法创建对象,每种对象对应一种方法。与简单工厂相比,将创建对象的接口分散,降低错误的发生。没有实质性区别。
3、静态工厂方法
不需要创建工厂对象,static方法与对象无关,在类加载的同时已经被写入堆栈。
4、抽象工厂
前三种模式中只有产品实现了抽象,抽象的好处符合开闭原则(对拓展开发,对修改关闭)。抽象工厂的实现依赖于工厂接口,每种工厂需要实现工厂接口,这样添加产品直接实现新的工厂,不需改动原有的工厂。适合需要大量拓展的业务。
5、单例模式
工厂只需要创建一次产品,改产品为静态化实例,与工厂类的生命周期绑定(即加载工厂类后一直存在,与对象生命周期无关)。第一次创建产品返回,第二次调用返回第一次创建的产品,无需再创建对象。
对多线程争抢产品,可能造成产品实例化多次,可以将产品实例化写在成员变量初始化时。这样在类加载时就已经实例化了产品。或者将产品的创建加锁,这样会避免多次创建产品。
相关推荐
3. Qt工厂模式工程 4. Qt工厂模式例程 5. Qt工厂模式例子 6. 简单工厂模式 部分源码实例: // 奔驰工厂 class BenzFactory : public AFactory { public: ICar* CreateCar() { return new BenzCar(); } }; // ...
JAVA设计模式(01):创建型-工厂模式【简单工厂模式】(Simple Factory)
介绍的是工厂模式 包括简单工厂模式、工厂方法模式、抽象工厂模式 包括PPT和代码
进入凯立德 工程模式 的方法 在“查找”菜单中切换到“123”输入法,输入*147#即可进入工程模式
导航进入工厂模式的方法,修改导航高级管理。
乐华板卡 进工程模式方法!!!
本文章通俗易懂的对工厂模式进行了讲解,相信您看完这篇文章会对工厂模式有更深入的了解
测试机型:32m3095(其它机型未试,大同小异,自行测试) 测试时间:2022.06.15 进入酒店模式好处:可以设置...进入工厂模式好处:可以设置不正常的颜色,声音。恢复系统默认设置。好多功能,是英文的,我看不懂。
JAVA 设计模式: 工厂模式 代理模式 迭代模式 责任链模式 源码
简单工程模式,一旦要添加一个子类的时候,就要去人工手动的修改工厂类里面的函数。但是在工厂模式里面,我们只需要再添加一个工厂就好了。上传的简单的计算器就是用工厂模式做的,相对比较简单。
从设计模式的类型上来说,简单工厂模式是属于创建型模式,又叫做静态工厂方法(Static Factory Method)模式,但不属于23种GOF设计模式之一。简单工厂模式是由一个工厂对象决定创建出哪一种产品类的实例。简单工厂...
深入浅出设计模式之抽象工厂模式+工厂方法模式+策略模式实现手机加工厂(加类图)
工厂方法模式和抽象工厂模式的区别,对工厂方法模式和抽象工厂模式做了简单的比较
java设计模式 抽象工厂模式详解 一张图让你彻底明白抽象工厂模式
java设计模式 简单工厂模式uml类图,一张图就让你秒懂简单工厂模式
通过C++实现了简单工厂模式、工厂模式、抽象工厂模式三大设计模式的经典案例。
各机芯进入工厂模式汇总 电视怎样进入工厂模式.PDF
单例模式和工厂模式结合应用,实现了产品的生产,适合用做课程设计,包含详细文档和代码。Java语言。喜欢的可以下载来看看那
针对工厂模式的三个类别(简单工厂模式、工厂方法模式、抽象工厂模式)分别实现获取数据库连接并进行DML操作 .
设计模式-抽象工厂模式(讲解及其实现代码)