/** * 打印机类 * @author able * */ public class ThePrinter { private String red = ""; private String yellow = ""; public ThePrinter(String red , String yellow){ this.red = red; this.yellow = yellow; } // 我们的打印机目前只支持打印红色和黄色 public void print(){ System.out.println(red); System.out.println(yellow); } }
然后就在项目中广泛的new ThePrinter("red","yellow")类调用print()方法,结果你在项目中new了1亿次该类,
突然有一天新需求来了,我们的打印机升级了,要支持blue 蓝色了,你就在整个项目中修改了1亿次!我们称之为耦合。
我们用工厂模式来解决这个问题,并且达到解耦的效果!看代码
interface ThePrinter { // 定义一个打印机接口 public void print(); // 打印方法 } class PrintRed implements ThePrinter { // 定义子类PrintRed @Override public void print() { // 覆写print()方法 System.out.println("我是打印红色 ==red== PrintRed"); } } class PrintYellow implements ThePrinter { @Override public void print() { System.out.println("我是打印黄色 ==yellow== PrintYellow"); } } // 这是我们的新需求,添加的打印蓝色的功能 class PrintBlue implements ThePrinter { @Override public void print() { System.out.println("我是打印蓝色 ==Blue== PrintBlue"); } } class Factory { // 定义工厂类 public static ThePrinter getInstance(String className) { ThePrinter instance = null; // 定义接口对象 if ("PrintRed".equals(className)) { // 判断是哪个子类的标记 instance = new PrintRed(); // 通过PrintRed子类实例化接口 } if ("PrintYellow".equals(className)) { instance = new PrintYellow(); } // 这是我们的新需求,添加的打印蓝色的功能 if ("PrintBlue".equals(className)) { instance = new PrintBlue(); } return instance; } }
测试的main
public static void main(String[] args) { ThePrinter ins = Factory.getInstance("PrintYellow"); // 通过工厂获取实例 if (ins != null) { // 判断对象是否为空 ins.print(); // 调用方法 } }
项目构架中,我们用了工厂模式,以上情况,只需要修改3个地方就ok
Q群:426554356 技术跳槽,求职,美女HR,讨论技术,欢迎大家加入
相关推荐
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操作 .
设计模式-抽象工厂模式(讲解及其实现代码)