设计模式整理(二) 之 工厂模式

本文主要介绍了Java开发中常用的工厂模式。阐述了工厂模式的目的,即定义创建对象的接口,让子类决定实例化的类。说明了其适用性,还给出了Java实现代码,包括工厂类、窗口接口及子类,展示了如何使用工厂模式创建不同类型的窗口对象。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

工厂模式其实是java开发中最常用的模式之一,我们在获取数据库连接的时候,经常使用工厂模式;

1、结构图:

2、目的:

定义一个用于创建对象的接口,让接口子类通过工厂方法决定实例化哪一个类;
3、适用性:
a) 当一个类希望由它的子类来指定它所创建的对象的时候;
b) 当一个类不知道自己将创建什么样的对象类的时候(有多种对象类可以选择);
c) 当类将创建对象的职责委托给多个帮助子类中的某一个,并且你希望将哪一个帮助子类是代理者这一信息局部化的时候;
4、java实现:

工厂类(Factory.java):
public class Factory {
public Window CreateWindow (String type) {
Class cls = null;
Window win = null;
try{
cls = Class.forName(type);
win =(Window)cls.newInstance();
}catch(Exception ex)
{
ex.printStackTrace();
}
return win;
}

public static void main(String[] args) {
Factory myFactory = new Factory();
Window myBigWindow = myFactory.CreateWindow("WindowBig");
myBigWindow.func();

Window mySmallWindow = myFactory.CreateWindow("WindowSmall");
mySmallWindow.func();
}
}
----------------
window接口(Window.java)
public abstract class Window {
public abstract void func();
}
----------------
两个子类中的第一个WindowBig.java:
public class WindowBig extends Window {
public void func() {
System.out.println("This is Big Window !");
}
}
两个子类中的第二个WindowSmall.java:
public class WindowSmall extends Window {
public void func() {
System.out.println("This is Small Window !");
}
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值