`
galo
  • 浏览: 37371 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

java设计模式(工厂方法模式)

阅读更多
  工厂方法模式(Factory Method):
  定义一个创建产品对象的工厂类,由该工厂统一创建继承了同一个接口的多个产品对象。
  根据创建策略的不同,又分为3种类型。
  ->工厂方法模式:为普通的工厂方法模式。
  ->多个工厂方法模式:提供了多个工厂方法,分别创建不同的产品对象.
  ->静态工厂方法模式:工厂方法是静态的,不需要实例化工厂即可创建产品对象。

代码分析:
  ●定义接口
public interface Animal{

  public int sale();
}


  ●定义三个具体实现类(数目随意)
 
//养猪
public class Pig implements Animal{

  int price = 10;//价格
  int weight = 200;//重量
  public int sale(){

    return price * weight;
  }
}
//养鸡
public class Chicken implements Animal{

  int price = 5;//价格
  int weight = 20;//重量
  int egg = 20;//鸡蛋
  public int sale(){

    return price * weight + egg;
  }
}
//养羊
public class Sheep implements Animal{
int price = 10;//价格
int weight = 100;//重量
int wool = 50;//羊毛
public int sale(){

  return price * weight + wool;
}
}


  ●工厂方法模式 类
  public class Farm1{

    public Animal produce(String type){
      
      if("pig".equals(type)){return new Pig();}
      else if("chicken".equals(type)){return new Chicken();}
      else{return new Sheep();}
    }
  }



  ●多个工厂方法模式 类
public class Farm2{

  public Animal producePig(){return new Pig();}
  public Animal produceChicken(){return new Chicken();}
  public Animal produceSheep(){return new Sheep();}
}


  ●静态工厂方法模式 类
public class Farm3{

  public static Animal producePig(){return new Pig();}
  public static Animal produceChicken(){return new Chicken();}
  public static Animal produceSheep(){return new Sheep();}
}


省略测试代码,写得累啊
  ●何时使用工厂方法模式
  工厂方法模式的核心是工厂类,这个类包含了创建产品的决策策略,它可以决定如何和何时创建什么产品对象。
  工厂方法模式应用场景:凡是出现了大量的产品需要创建,并且具有共同的接口时,可以通过工厂方法模式进行创建。

java中的应用有:Swing中的静态工厂类BorderFactory.
0
0
分享到:
评论

相关推荐

    java设计模式之工厂模式

    java设计模式之工厂模式java设计模式之工厂模式java设计模式之工厂模式java设计模式之工厂模式java设计模式之工厂模式java设计模式之工厂模式java设计模式之工厂模式java设计模式之工厂模式java设计模式之工厂模式...

    Java 经典设计模式讲解以及项目实战

    Java 经典设计模式讲解以及项目实战 设计模式简介:主要介绍各种设计模式的概念和运用场景等 设计模式综合运用:主要是笔者在实际工作中运用到的一些设计模式综合运用事例的提炼 Spring设计模式简介:主要是讲述...

    设计模式——工厂方法模式

    工厂方法模式是面向对象设计模式中的一种,它属于创建型模式,主要解决的是当系统需要创建的对象具有多种类型,而具体创建哪种类型的对象在运行时才能确定的问题。在这个压缩包中,`FactoryMethod`可能包含了Java...

    工厂方法模式uml类图

    java设计模式 工厂方法模式uml类图,一张图就让你秒懂工厂方法模式

    JAVA 设计模式 工厂模式 代理模式 迭代模式 责任链模式 源码

    以下是关于JAVA设计模式中提及的四种模式——工厂模式、代理模式、迭代器模式以及责任链模式的详细说明。 1. **工厂模式**:工厂模式是一种创建型设计模式,它提供了一种创建对象的最佳方式。在工厂模式中,当创建...

    java设计模式之工厂方法模式

    工厂方法模式是面向对象设计中的一种经典设计模式,属于创建型模式。它的主要目的是将对象的创建过程封装起来,使得创建过程独立于使用过程。在Java中,工厂方法模式允许我们定义一个创建对象的接口,但让实现这个...

    JAVA设计模式(java设计)

    Java设计模式是面向对象编程领域中的重要概念,它是一套被广泛接受并实践的解决软件设计问题的经验总结。设计模式并非具体的代码或库,而是一种在特定情境下为了解决常见问题而制定的通用解决方案的描述。它们描述了...

    java设计模式pdf

    ### Java设计模式详解 #### 一、背景与概念 在软件工程领域,设计模式是一种用于解决常见问题的可重用解决方案。《Java设计模式PDF》是一本由James W. Cooper编写的经典书籍,该书详细介绍了Java编程语言中的设计...

    《java设计模式》课后习题模拟试题解答——刘伟.zip

    Java设计模式是软件工程中的一种最佳实践,它总结了在特定场景下解决常见问题的经验,为程序员提供了可重用的解决方案。本资料“《java设计模式》课后习题模拟试题解答——刘伟.zip”主要涵盖了Java设计模式的学习与...

    Java 工厂模式 抽象工厂 工厂方法模式

    本文将深入探讨Java中的工厂模式,包括基本的工厂模式、抽象工厂模式以及工厂方法模式。 **工厂模式**:工厂模式的核心思想是提供一个创建对象的接口,但让实现这个接口的类来决定实例化哪一个类。这样,客户端无需...

    Java 工厂设计模式例题

    例题简单的阐述了Java工厂模式的概念,有利于读者更好地了解Java工厂模式

    设计模式单例模式和工厂模式综合应用

    **代码**文件则提供了实际的Java实现,通过查看这些代码,我们可以看到单例模式和工厂模式如何在实践中被运用,包括类的定义、方法的实现以及如何通过代码调用来创建和管理对象。 总的来说,这个项目为学习和理解...

    《Java设计模式》刘伟 课后习题及模拟试题答案.rar

    《Java设计模式》是刘伟老师的一本经典教材,它深入浅出地讲解了软件设计中的重要概念——设计模式。设计模式是经验丰富的开发者在解决常见问题时总结出的通用解决方案,是软件开发中的智慧结晶。这本书的课后习题和...

    java 设计模式 mvc模式 单例模式 代理 工厂 简单工厂

    在Java中,简单工厂、工厂方法和抽象工厂是三种不同的工厂模式实现。 5. **简单工厂模式**:是最简单的工厂模式形式,它包含一个工厂类,根据传入的参数决定返回哪种类型的实例。虽然易于理解,但不易扩展,因为...

    JAVA设计模式(工厂方法模式)

    工厂方法模式和简单工厂模式在结构上的不同是很明显的。工厂方法模式的核心是一个抽象工厂类,而简单工厂模式把核心放在一个具体类上。工厂方法模式可以允许很多具体工厂类从抽象工厂类中将创建行为继承下来,从而...

    设计模式之java工厂模式

    "设计模式之java工厂模式"是关于如何优雅地创建对象的一种经典设计模式,它属于创建者模式类别。创建者模式主要关注对象的创建,而工厂模式则在其中扮演着重要角色,因为它提供了一种抽象的方式来创建对象,从而使...

    《Java设计模式》课程设计报告.docx

    《Java设计模式》课程设计报告主要探讨了如何利用Java编程语言和MyEclipse集成开发环境来实现基于设计模式的西瓜市场系统。这个项目涵盖了四种重要的设计模式:单例模式、代理模式、建造者模式和抽象工厂模式,为...

    java设计模式(刘伟)

    ### Java设计模式(刘伟) #### 一、引言 在《Java设计模式》这本书中,作者刘伟全面地介绍了24种经典的设计模式,并通过丰富的案例和代码示例进行了详细的解析。本书不仅适合初学者作为入门教材,也适合有一定...

    java 设计模式试题

    常见的创建型模式包括工厂方法模式、抽象工厂模式、单例模式等。 ### 5. 依赖倒转原则 依赖倒转原则(D) 强调依赖于抽象而不是具体实现。这意味着我们应该通过接口而不是实现类来进行编程。这样做可以降低模块间的...

Global site tag (gtag.js) - Google Analytics