`
xieyaxiong
  • 浏览: 41101 次
  • 性别: Icon_minigender_1
  • 来自: 武汉
社区版块
存档分类
最新评论

design pattern——工厂方法模式

 
阅读更多

 针对问题:当要创建的产品种类很多,并且会随着时间的推移会不断改变时。可以将这些变化的部分抽离出来作为一个继承结构,运用多态的动态性来替换本来的改变。

 

 

 

 

 

工厂方法模式结构图:

 

 

 

 

 

 

工厂方法实现代码:

/**
 * 产品接口
 * @author bruce
 *
 */
public abstract class Product {
	
	public abstract void description();

}





/**
 * 创建者接口
 * @author bruce
 *
 */
public abstract class Creator {
	
	public abstract Product create();
}







/**
 * 产品1
 * @author bruce
 *
 */
public class ConcreteProduct1 extends Product{
	
	@Override
	public void description() {
		System.out.println("产品1");
	}
}



/**
 * 产品2
 * @author bruce
 *
 */
public class ConcreteProduct2 extends Product{
	
	@Override
	public void description() {
		// TODO Auto-generated method stub
		System.out.println("产品2");
	}
}








/**
 * 创建类1
 * @author bruce
 *
 */
public class ConcreteCreator1 extends Creator{
	
	@Override
	public Product create() {
		// TODO Auto-generated method stub
		return new ConcreteProduct1();
	}
}



/**
 * 创建类2
 * @author bruce
 *
 */
public class ConcreteCreator2 extends Creator{

	@Override
	public Product create() {
		// TODO Auto-generated method stub
		return new ConcreteProduct2();
	}

}







/**
 * 测试
 * @author bruce
 */
public class Client {
	
	public static void main(String[] args) {
		Creator creator=new ConcreteCreator1();
		Product product=creator.create();
		product.description();//产品1
		
		creator=new ConcreteCreator2();
		product=creator.create();
		product.description();//产品2
	}
}

 

  • 大小: 23 KB
分享到:
评论

相关推荐

    design-pattern-java.pdf

    六个创建型模式 简单工厂模式-Simple Factory Pattern 工厂三兄弟之简单工厂模式(一) 工厂三兄弟之简单工厂模式(二) 工厂三兄弟之简单工厂模式(三) 工厂三兄弟之简单工厂模式(四) 工厂方法模式-Factory ...

    Designpattern.zip

    在这个名为"Designpattern.zip"的压缩包中,我们聚焦于Java编程语言中的一个关键设计模式——工厂模式。这个模式属于创建型模式,它提供了一种创建对象的最佳方式,旨在简化对象的创建过程,并提高代码的可读性和可...

    Head First Design Pattern

    3. **抽象工厂模式(Abstract Factory)**:提供一个创建一系列相关或相互依赖对象的接口,而无需指定它们的具体类。这在需要一组相关对象时非常有用,如在不同的操作系统中创建相似的用户界面元素。 4. **建造者...

    GoF的经典著作设计模式(Design Pattern)

    1. **工厂模式**:工厂模式是一种创建型设计模式,它提供了一种创建对象的最佳方式。通过引入一个工厂类,开发者可以隔离产品类的实例化过程,使代码更加灵活和易于维护。 2. **抽象工厂模式**:当需要创建一系列...

    Design Pattern实验指导手册2

    《Design Pattern实验指导手册2》主要探讨了设计模式中的创建型模式——工厂方法(Factory Method)。这个模式是软件设计中非常基础且实用的一种模式,它主要用于解决对象的创建问题,提供了一种创建对象的最佳方式...

    Design Pattern 实验指导手册1

    《Design Pattern 实验指导手册1》是一份详细阐述设计模式的实践教程,专注于创建型模式——简单工厂模式。本手册旨在帮助读者理解并掌握如何在实际编程中应用设计模式,提高代码的可读性、可维护性和灵活性。 简单...

    Design Pattern FrameworkTM

    为了帮助 .NET 开发者更好地理解和应用这些设计模式,《Head First 设计模式》为 .NET 2.0 特别推出了一个配套文档——《设计模式框架》(Design Pattern FrameworkTM),该文档涵盖了原书中介绍的所有设计模式,并...

    设计模式design-pattern-java.pdf

    简单工厂模式提供了一个创建一系列相关或相互依赖对象的接口,而无需指定它们具体的类。这种模式简化了客户端代码,并使其与具体的实现细节解耦。 #### 2.2 工厂方法模式 工厂方法模式定义了一个创建对象的接口,...

    工厂设计模式Java示例

    文件列表中的`DesignPattern`很可能包含了实现这些模式的Java源代码,可能有如下文件结构: - `Factory` 包:包含简单工厂模式或工厂方法模式的实现 - `Product.java`:产品的抽象类或接口 - `ConcreteProduct1....

    GOF之23种设计模式的C#实现:DesignPattern.zip

    - 抽象工厂模式(Abstract Factory):提供一个创建一系列相关或相互依赖对象的接口,无需指定它们的具体类。 - 构建者模式(Builder):将复杂对象的构建与其表示分离,使得同样的构建过程可以创建不同的表示。 ...

    HeadFirst Design Pattern

    1. 创建型模式:这类模式主要关注对象的创建过程,如单例模式(Singleton)、工厂方法模式(Factory Method)、抽象工厂模式(Abstract Factory)、建造者模式(Builder)和原型模式(Prototype)。它们提供了创建...

    Introduction to Design Pattern in C#

    虽然对于初学者来说,面对英文资料可能会感到困难,但“Design Pattern In C# (英文).pdf”这本书为读者提供了23种经典设计模式的详细解释,包括了它们的概念、实现方式以及在C#中的应用实例。尽管阅读时可能会遇到...

    design-pattern(设计模式,包括创建型、结构型、行为型三大类共23种常见的设计模式和J2EE常见设计模式等).zip

    本压缩包"design-pattern(设计模式,包括创建型、结构型、行为型三大类共23种常见的设计模式和J2EE常见设计模式等).zip"提供了全面的设计模式学习资源,适用于初学者和有经验的开发者,帮助他们提升软件设计能力。...

    模式举例代码——设计模式和举例代码

    在`designpattern`这个压缩包中,很可能包含了以上各种设计模式的代码示例。通过学习和理解这些代码,你可以更好地掌握如何在实际项目中应用设计模式,提升代码质量和可维护性。每一个设计模式都有其适用场景,理解...

    designpattern:设计模式

    designpattern 设计模式 觉得看总结太单调,fork下来看看代码吧。 前情提要——简单工厂 简单工厂不是一个标准设计模式。 让客户端只知道接口、不知道具体实现,而设计工厂方法来生成具体实现的实例。把new Impl()放...

    GOF-设计模式-Design Patterns-英文原版-高清-有目录-有页码

    **设计模式**(Design Patterns)是软件工程中的一个重要概念,它是一套被反复使用、多数人知晓的、经过分类编目的、代码设计经验的总结。本章节将从多个角度对设计模式进行深入探讨。 #### 二、设计模式的基本定义 ...

    Design Pattern

    - 抽象工厂模式(Abstract Factory):提供一个接口,用于创建相关或依赖对象的家族,而无需指定具体类。 - 建造者模式(Builder):将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示。...

Global site tag (gtag.js) - Google Analytics