今天说说工厂模式
工厂模式定义:提供创建对象的接口.
简单的表述工厂的使用,在我们想要生成某个对象的时候,一般我们都是A a=new A();用这种方式来生成一个对象。像这种不需要参数的倒还好说,如果需要传入参数。就可能很麻烦和复杂。这个时候我们就可以考虑使用工厂方法了,让工厂方法来封装我们想要生成的对象。
要生成对象的统一实现接口
package factorymethod;
/**
* 要生成的对象
*/
public interface Product {
}
工厂生产出的产品
package factorymethod;
/**
* 这个就是工程生产出的产品
*/
public class ConcreteProduct implements Product {
public ConcreteProduct() {
super();
}
private int level = 10;
private String target = "FR";
@Override
public String toString() {
return "ConcreteProduct [level=" + level + ", target=" + target + "]";
}
}
我们的构造器,也就是工厂了
package factorymethod;
/**
* @author ZERO
*/
public abstract class Creator {
private Product fProduct;
public abstract Product factoryMethod();
public void anOperation() {
setfProduct(factoryMethod());
}
public Product getfProduct() {
return fProduct;
}
public void setfProduct(Product fProduct) {
this.fProduct = fProduct;
}
}
为每个不同产品生产的工厂
package factorymethod;
public class ConcreteCreator extends Creator {
public ConcreteCreator() {
super();
}
public Product factoryMethod() {
return new ConcreteProduct();
}
}
最后看看测试类
package factorymethod;
public class FactorymethodTest {
public static void main(String[] args) {
ConcreteCreator creator = new ConcreteCreator();
System.out.println(creator.factoryMethod().toString());
}
}
这个工厂模式代码示例中,在使用的时候可以做很多扩展的,需要你慢慢体会
分享到:
相关推荐
"工厂方法"(Factory Method)是面向对象设计中的一种经典设计模式,它属于创建型模式,其主要目的是为了抽象产品的创建过程,使得具体的创建过程与使用产品的代码解耦。这个模式在《设计模式:可复用面向对象软件的...
NET设计模式--工厂方法例子源码
创建型设计模式---工厂设计模式实现
工厂方法模式是面向对象设计模式中的一个创建型模式,它提供了一种封装对象创建过程的方式,使得具体的对象创建过程可以延迟到子类中进行。在C++编程中,工厂方法模式广泛应用于各种软件设计中,因为它能有效地解耦...
java设计模式----抽象工厂模式,简单工厂模式代码 代码内部
抽象工厂模式是设计模式中的一种创建型模式,它提供了一个创建对象族的接口,而无需指定它们的具体类。在.NET开发中,这种模式常用于实现多数据库连接,比如连接到MySQL、SQL Server或Oracle等不同的数据库系统。...
工厂方法模式是设计模式中的经典之作,它通过封装创建细节,使得系统的对象创建更加灵活和可扩展。结合反射机制和配置文件的使用,这种模式能够更加动态地适应变化的需求,而无需修改现有的代码结构。在实际开发过程...
设计模式---抽象工厂模式(Abstract Factory)-UML图 (StarUML)
《设计模式——工厂模式》 在软件工程领域,设计模式是一种在特定情境下解决常见问题的模板,它为程序员提供了一种标准的解决方案。工厂模式是面向对象设计中最为人熟知的设计模式之一,属于创建型模式,其主要目标...
在软件设计模式中,工厂模式是一组非常基础且实用的设计模式,主要分为简单工厂模式、工厂方法模式和抽象工厂模式。这些模式都是为了解决对象创建的问题,通过封装对象的创建过程,使得代码更加灵活,易于扩展和维护...
《C++设计模式--基于Qt4开源跨平台开发框架》一书主要探讨了如何在C++编程中利用设计模式,并结合Qt4框架进行高效的跨平台应用开发。设计模式是软件工程中的重要概念,它们是经过时间和实践验证的解决特定问题的模板...
**工厂方法设计模式** 在iOS开发中,设计模式是一种被广泛采用的最佳实践,它提供了一种在不指定具体实现的情况下创建对象的方式。工厂方法(Factory Method)是面向对象设计模式中的一种,属于创建型模式。它定义...
"抽象工厂"是设计模式中的一种,属于创建型模式,它提供了一种创建对象族的接口,而无需指定它们的具体类。这个模式的核心在于隔离了产品对象的创建过程,使得系统对具体产品的依赖最小化,从而增强了系统的灵活性和...
工厂方法模式是面向对象设计中的一种经典设计模式,属于创建型模式。在软件工程中,当我们需要创建一系列相关或相互依赖的对象时,而不希望指定具体的类,工厂方法模式提供了一个很好的解决方案。 工厂方法模式的...
简单工厂模式是软件设计模式中的一种基础模式,它属于创建型模式,主要解决对象的创建问题,使得代码在创建对象时更加灵活,同时也隐藏了对象的创建细节。在这个模式中,一个专门的工厂类负责创建特定类型的对象,而...
JAVA-设计模式-创建型模式-工厂模式
Java设计模式中的工厂模式是一种创建型设计模式,它提供了一种创建对象的最佳方式。工厂模式的核心思想是将对象的创建过程封装起来,使得创建过程独立于使用过程,从而提高了代码的可扩展性和可维护性。在HeadFirst...