`
huihua
  • 浏览: 62728 次
  • 性别: Icon_minigender_1
  • 来自: 珠海
文章分类
社区版块
存档分类
最新评论

设计模式:Static Factory

阅读更多

设计模式有很多种,这里说一下Static Factory模式,以汽车为例子吧。

图一:设计图

 

 

IAuto.java

java 代码
  1. package designpattern.factorymethod;   
  2.   
  3. public interface IAuto {   
  4.   
  5.  public void run();   
  6.     
  7.  public void stop();   
  8. }   
  9.   

Car.java

java 代码
  1. package designpattern.factorymethod;   
  2.   
  3. public class Car implements IAuto{   
  4.   
  5.  public void run() {   
  6.   System.out.println("Car run!");     
  7.  }   
  8.   
  9.  public void stop() {   
  10.   System.out.println("Car run!");   
  11.  }   
  12.   
  13. }   
  14.   

Truck.java

java 代码
  1. package designpattern.factorymethod;   
  2.   
  3. public class Truck implements IAuto{   
  4.   
  5.  public void run() {   
  6.   System.out.println("Truck run!");   
  7.  }   
  8.   
  9.  public void stop() {   
  10.   System.out.println("Truck stop!");   
  11.  }   
  12.   
  13. }   
  14.   


StaticAutoFactory.java

java 代码
  1. package designpattern.factorymethod;   
  2.   
  3. public class StaticAutoFactory {   
  4.   
  5.  //can not instance   
  6.  private StaticAutoFactory(){}   
  7.   
  8. //-------------example1--------------------------    
  9.  public static IAuto createCar()   
  10.  {   
  11.   return new Car();   
  12.  }   
  13.     
  14.  public static IAuto createTruck()   
  15.  {   
  16.   return new Truck();   
  17.  }   
  18. //--------------example2-------------------------   
  19.     
  20.  public static final int CAR = 0;   
  21.  public static final int TRUCK = 1;   
  22.  public static IAuto createAuto(int type)   
  23.  {   
  24.   switch (type)   
  25.   {   
  26.   case CAR:   
  27.    return new Car();   
  28.   case TRUCK:   
  29.    return new Truck();   
  30.   }   
  31.   return null;   
  32.  }   
  33.   
  34. }   
  35.   

StaticFactoryClient.java

java 代码
  1. package designpattern.factorymethod;   
  2.   
  3. public class StaticFactoryClient {   
  4.   
  5.  /**  
  6.   * @param args  
  7.   * we needn't care the subclass of IAuto, and how to new them by using static factory.  
  8.   */  
  9.  public static void main(String[] args) {   
  10.   IAuto auto1 = StaticAutoFactory.createCar();   
  11.   auto1.run();   
  12.   IAuto auto2 = StaticAutoFactory.createAuto(StaticAutoFactory.TRUCK);   
  13.   auto2.run();   
  14.  }   
  15.   
  16. }   
  17.   

 

 

 
分享到:
评论

相关推荐

    Java常用设计模式(SingleTon、FactoryMethod、AbstractFactory)

    这里我们将深入探讨三种常见的Java设计模式:单例(Singleton)、工厂方法(Factory Method)和抽象工厂(Abstract Factory)。 **单例模式(Singleton)** 单例模式确保一个类只有一个实例,并提供一个全局访问点...

    设计模式:基于C#的工程化实现及扩展

    ### 设计模式:基于C#的工程化实现及扩展 #### 设计模式概述 设计模式是一种在特定情境下解决问题的方法论,它代表了在软件开发过程中遇到的问题与解决方案的匹配。设计模式并不是完成软件功能的代码片段,而是一...

    C++设计模式之Static Factory模式详解

    主要为大家详细介绍了C++设计模式之Static Factory模式的相关资料,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

    C++设计模式:基于Qt开源跨平台开发框架

    这些类库的接口设计往往已经遵循了一些经典的设计模式,比如工厂模式(Factory Pattern)、单例模式(Singleton Pattern)和观察者模式(Observer Pattern)。 1. 工厂模式:Qt中的QFactoryInterface和...

    设计模式:基于C#的工程化实现及扩展(扫描完整版)下载地址

    设计模式是软件开发中的宝贵经验总结,它们是解决常见问题的最佳实践,被广泛应用于各种编程语言,包括C#。在C#中应用设计模式可以提高代码的可读性、可维护性和可复用性,是成为一名优秀的C#开发者不可或缺的知识。...

    设计模式:解锁代码世界的秘密宝藏

    ### 设计模式:解锁代码世界的秘密宝藏 #### 第一章:单例模式——唯一的存在 **概念解析**:单例模式是一种确保一个类只有一个实例存在的设计模式,并且提供了一个全局访问点来获取这个实例。这种模式非常适合...

    深入浅出设计模式(中文版).pdf(深入浅出设计模式 作者:AI92 并非同名书籍)

    1. 简单工厂模式(Static Factory Method):也被称作静态工厂方法模式,其主要目的是定义一个接口来创建对象,但它并不是GoF(Gang of Four)所提出的23种设计模式之一。它将对象的创建封装在一个工厂类中,根据...

    设计模式 t02FactoryMethod

    "t02FactoryMethod" 指的是工厂方法(Factory Method)设计模式,它是面向对象设计中的一种经典模式。这个模式主要关注于如何创建对象,通过引入一个工厂接口或者抽象类,将对象的创建过程封装起来,使得具体的对象...

    设计模式之Factory

    《设计模式之Factory》 设计模式是软件开发中的一种最佳实践,它们是解决常见问题的模板,使得代码更具可读性、可维护性和可复用性。本文将深入探讨工厂模式,包括工厂方法和抽象工厂模式,以及它们在实际开发中的...

    工厂模式FactoryMode

    工厂模式是一种常用的面向对象设计模式,它属于创建型设计模式,旨在提供一种创建对象的最佳方式。在工厂模式中,当客户端请求创建一个产品对象时,它不会直接创建,而是调用一个专门的工厂对象来完成这个任务。这样...

    设计模式 t01SimpleFactory

    "t01SimpleFactory"指的是简单工厂(Simple Factory)设计模式,它是创建型设计模式之一。 简单工厂模式的核心思想是通过一个公共的工厂类来创建对象,这个工厂类负责实例化客户所需的对象,客户只需要知道具体的...

    软件设计模式实验报告.pdf

    在实验报告中提到了两种常见的设计模式:单例模式(Singleton)和工厂模式(Factory)。 **单例模式**是一种保证一个类只有一个实例的设计模式。在上述实验中,通过创建`AppConfig`类来处理配置文件,单例模式的...

    Java设计模式之工厂模式(Factory)

    ### Java设计模式之工厂模式详解 #### 一、引言 设计模式是在软件设计过程中针对常见问题而提出的标准化解决方案。其中,“工厂模式”是面向对象编程中最常用的模式之一,主要目的是封装实例化过程,使代码更加...

    二十三种设计模式【PDF版】

    设计模式之 Factory(工厂方法和抽象工厂) 使用工厂模式就象使用 new 一样频繁. 设计模式之 Builder 汽车由车轮 方向盘 发动机很多部件组成,同时,将这些部件组装成汽车也是一件复杂的工作,Builder 模式就是将这...

    设计模式之“工厂方法模式[Factory Method Pattern]”

    今天我们要探讨的是设计模式中的一个经典成员——工厂方法模式(Factory Method Pattern)。工厂方法模式是创建型设计模式的一种,它提供了一种创建对象的最佳方式。 ### 一、什么是工厂方法模式? 工厂方法模式...

    设计模式(c++) 之 Factory(工厂模式)源码下载

    Product* product = Factory::CreateProduct('A'); product->Operation(); delete product; } ``` 其次,工厂方法模式将对象的创建过程进一步封装,定义一个创建产品的接口,但具体实例化哪个子类由子类决定。...

    Head.First设计模式_PDF.part1

    第1章到第11章陆续介绍的设计模式为Strategy、Observer、Decorator、Abstract Factory、Factory Method、Singleton、Command、Adapter、Facade、Templat Method、Iterator、Composite、State、Proxy。最后三章比较...

    从模式讲到设计模式再到面向对象设计模式

    ### 设计模式与抽象工厂设计模式详解 #### 模式的起源与定义 设计模式的概念源自建筑领域,由克里斯多佛·亚历山大提出。他通过对建筑物、城镇、街道等结构的研究,发现了优秀的结构设计之间存在着共性。亚历山大...

    锈设计模式:锈设计模式

    《锈设计模式:锈设计模式》是一本深入探讨Rust编程语言中设计模式的资源,主要针对使用Rust进行软件开发的专业人士。设计模式是软件工程中的重要概念,它总结了在特定情境下解决问题的常见方法,使得代码更加可读、...

Global site tag (gtag.js) - Google Analytics