10.7
1.工厂模式
下面是一个简单的Java代码示例,展示了工厂模型的实现:
// 产品接口
interface Product {
void doSomething();
}
// 具体产品类A
class ConcreteProductA implements Product {
@Override
public void doSomething() {
System.out.println("ConcreteProductA do something");
}
}
// 具体产品类B
class ConcreteProductB implements Product {
@Override
public void doSomething() {
System.out.println("ConcreteProductB do something");
}
}
// 工厂接口
interface Factory {
Product createProduct();
}
// 具体工厂类A
class ConcreteFactoryA implements Factory {
@Override
public Product createProduct() {
return new ConcreteProductA();
}
}
// 具体工厂类B
class ConcreteFactoryB implements Factory {
@Override
public Product createProduct() {
return new ConcreteProductB();
}
}
// 客户端代码
public class FactoryPatternExample {
public static void main(String[] args) {
// 创建工厂对象
Factory factoryA = new ConcreteFactoryA();
Factory factoryB = new ConcreteFactoryB();
// 使用工厂对象创建产品对象
Product productA = factoryA.createProduct();
Product productB = factoryB.createProduct();
// 调用产品对象的方法
productA.doSomething();
productB.doSomething();
}
}
在上面的示例中,我们首先确定了一个产品接口Product
,它包含一个doSomething()
方法,用于执行产品的操作。
然后,我们发现了两个具体产品类型ConcreteProductA
和ConcreteProductB
,它们分别发现了产品接口中的方法。
接着,我们确定了工厂接口Factory
,它包含一个createProduct()
方法,用于创建产品对像。
我们还发现了两个实体工厂类ConcreteFactoryA
和ConcreteFactoryB
,他们分别发现了工厂接口中的方法,根据需要创建不同的产品对比。
最后,在客户端代码中,我们创建了工厂对像,并使用工厂对像分别创建了实体的产品对像。通过工厂的创建方法,我们可以轻松地获取产品对像,并调整使用其他方法进行操作。
工厂模型的关键思想是将对象的创建与使用分离,通过使用工厂来统统管理对象的创建过程,从而实践更好的精神生活和可维护性。工厂模式可以隐藏对象的创建细节,使客户终端代码只关注使用对象而不需要关注对象的创建过程。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通