设计模式有很多种,这里说一下Static Factory模式,以汽车为例子吧。
图一:设计图
IAuto.java
java 代码
- package designpattern.factorymethod;
-
- public interface IAuto {
-
- public void run();
-
- public void stop();
- }
-
Car.java
java 代码
- package designpattern.factorymethod;
-
- public class Car implements IAuto{
-
- public void run() {
- System.out.println("Car run!");
- }
-
- public void stop() {
- System.out.println("Car run!");
- }
-
- }
-
Truck.java
java 代码
- package designpattern.factorymethod;
-
- public class Truck implements IAuto{
-
- public void run() {
- System.out.println("Truck run!");
- }
-
- public void stop() {
- System.out.println("Truck stop!");
- }
-
- }
-
StaticAutoFactory.java
java 代码
- package designpattern.factorymethod;
-
- public class StaticAutoFactory {
-
-
- private StaticAutoFactory(){}
-
-
- public static IAuto createCar()
- {
- return new Car();
- }
-
- public static IAuto createTruck()
- {
- return new Truck();
- }
-
-
- public static final int CAR = 0;
- public static final int TRUCK = 1;
- public static IAuto createAuto(int type)
- {
- switch (type)
- {
- case CAR:
- return new Car();
- case TRUCK:
- return new Truck();
- }
- return null;
- }
-
- }
-
StaticFactoryClient.java
java 代码
- package designpattern.factorymethod;
-
- public class StaticFactoryClient {
-
-
-
-
-
- public static void main(String[] args) {
- IAuto auto1 = StaticAutoFactory.createCar();
- auto1.run();
- IAuto auto2 = StaticAutoFactory.createAuto(StaticAutoFactory.TRUCK);
- auto2.run();
- }
-
- }
-
分享到:
相关推荐
主要为大家详细介绍了C++设计模式之Static Factory模式的相关资料,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
java设计模式:DAO模式 DAO设计模式 DAO的理解 1、DAO其实是利用组合工厂模式来解决问题的,并没有带来新的功能,所以学的 其实就是个思路。 2、DAO理论上是没有层数限制的。 3、DAO的各层理论上是没有先后的。 DAO...
第1章到第11章陆续介绍的设计模式为Strategy、Observer、Decorator、Abstract Factory、Factory Method、Singleton、Command、Adapter、Facade、Templat Method、Iterator、Composite、State、Proxy。最后三章比较...
PHP设计模式 Abstract Factory , Builder , Factory Method , Multiton , Pool , Prototype , Simple Factory , Singleton , Static Factory , Structural , Adapter / Wrapper , Bridge , Composite, Data Mapper ,...
答: 简单工厂模式是属于创建型模式,又叫做静态工厂方法(Static Factory Method)模式,但不属于23种GOF设计模式之一。简单工厂模式是由一个工厂对象决定创建出哪一种产品类的实例。简单工厂模式是工厂模式家族中最...
C#工厂设计模式简单实例——计算器 public class Factory { //创建一个静态方法 public static Operation CreateOper(int a, int b, string oper) { //创建一个Operation对象 Operation op = null; switch ...
本文以实例形式较为详细的介绍了PHP设计模式的简单工厂模式,对于进行PHP程序设计来说有很好的借鉴作用。具体如下: 一、概念 简单工厂模式 【静态工厂方法模式】(Static Factory Method) 是类的创建模式 工厂模式的...
第1章到第11章陆续介绍的设计模式为Strategy、Observer、Decorator、Abstract Factory、Factory Method、Singleton,Command、Adapter、Facade、TemplateMethod、Iterator、Composite、State、Proxy。最后三章比较...
在iOS开发中,设计模式是一套被广泛认可的解决特定设计问题的模板。它们帮助开发者构建可维护、可扩展且耦合度低的软件。以下是几种常用设计模式在iOS中的实现说明: 1. **单例模式(Singleton Pattern)**: 单例...
要好好去读上面那个实例,虽然有点绕嘴,其实只要用心去读,分清了抽象工厂模式的各个角色,对理解设计模式是非常重要的。理解头绪,然后接合简单工厂模式、工厂方法模式对工厂家族的了解,再加上抽象工厂模式的意图...
设计模式之 Factory(工厂方法和抽象工厂) 使用工厂模式就象使用 new 一样频繁. 设计模式之 Builder 汽车由车轮 方向盘 发动机很多部件组成,同时,将这些部件组装成汽车也是一件复杂的工作,Builder 模式就是将这...
从设计模式的类型上来说,简单工厂模式是属于创建型模式,又叫做静态工厂方法(Static Factory Method)模式,但不属于23种GOF设计模式之一。简单工厂模式是由一个工厂对象决定创建出哪一种产品类的实例。简单工厂...
第1章到第11章陆续介绍的设计模式为Strategy、Observer、Decorator、Abstract Factory、Factory Method、Singleton、Command、Adapter、Facade、TemplatMethod、Iterator、Composite、State、Proxy。最后三章比较...
1.工厂方法模式(Factory Method) 将程序中创建对象的操作,单独出来处理,创建一个产品的工厂接口,把实际的工作转移到具体的子类。大大提高了系统扩展的柔性,接口的抽象化处理给相互依赖的对象创建提供了最好的...
简单工厂模式是类的创建模式,又叫做静态工厂方法(Static Factory Method)模式。简单工厂模式是由一个工厂对象决定创建出 哪一种产品类的实例。 工厂方法模式是类的创建模式,又叫做虚拟构造子(Virtual Constructor)...
简单工厂(Simple Factory)模式又称为静态工厂方法(Static Factory Method)模式,属于类的创建型模式,通常它根据自变量的不同返回不同的类的实例。 简单工厂模式的实质是由一个工厂类根据传入的参量,动态决定...
(1)简单工厂模式简单工厂模式又称为静态工厂方法(Static Factory Method)模式,它属于类创建型模式 (2) 工厂方法模式此模式中,通过定义一
工厂模式中有: 工厂方法(Factory Method) 抽象工厂(Abstract Factory). 这两个模式区别在于需要创建对象的复杂程度上。如果我们创建对象的方法变得复杂了,如上面工厂方法中是创建一个对象Sample,如果我们还有新的...
简单工厂模式是类的创建模式,又叫做静态工厂方法(Static Factory Method)模式。简单工厂模式是由一个工厂对象决定创建出那一种产品类的实例。 1.工厂模式的几种形态 工厂模式专门负责将大量有共同接口的类实例化...
三种基本设计模式 1、工厂模式:工厂方法或者类生成对象,而不是在代码中直接new 2、单例模式:使某个类的对象仅允许创建一个 3、注册模式:全局共享和交换对象 工厂模式: <?php namespace IMooc; class ...