简单工厂模式例子

/**

简单工厂模式:一个工厂生产三类汽车 高档汽车(TopCar)、中等汽车(MidCar)、低档汽车(LowCar)

生产汽车需要方法,定义一个ICar接口类定义其中的方法名。

三种汽车去实现这些方法。

定义一个工厂类 负责创建汽车对象

以上就是一个简单工厂模式的雏形。即程序开发者不用反复创建对象,只需要调用工厂模型便可以创建相应的对象。

注意用public定义的类,应该是一个独立的*.java文件。这里没有作区分。

*/

public interface ICar{

//该类是定义创建汽车的相关方法,在这里暂不定义。

}

public class SimpleFactory{

public static final String TOPTYPE = "toptype";

public static final String MIDTYPE = "midtype";

public static final String LOWTYPE = "lowtype";

public static ICar create(String mark){

ICar obj = null;

if(mark.equals(TOPTYPE)){

obj = new TopCar();

System.out.println(TOPTYPE);

}

else if(mark.equals(MIDTYPE)){

obj = new TopCar();

System.out.println(MIDTYPE);

}

else if(mark.equals(LOWTYPE)){

obj = new TopCar();

System.out.println(LOWTYPE);

}

return obj;

}

}

public class TopCar implements ICar{

}

public class MidCar implements ICar{

}

public class LowCar implements ICar{

}

public class CarTest{

public static void main(String args[]){

ICar obj = SimpleFactory.create("toptype");

}

}

版权声明:本文为博主原创文章,未经博主允许不得转载。

时间: 2024-08-05 07:06:01

简单工厂模式例子的相关文章

[设计模式]两种方法实现简单工厂模式

<!--完整代码下载链接:点击下载完整代码示例--> 1.描述 在项目开发中经常会遇到根据不同的条件创建不同的对象,然后对该对象进行操作,一般都包括许多的switch -case分支如下: CBase* pBase(NULL); switch (type_variable) { case obj1: pBase = new CBaseDerivate1();break; case obj2: pBase = new CBaseDerivate2();break; ... case objN:

简单工厂模式小例子 写的测试过了

1 using System; 2 using System.Collections.Generic; 3 using System.Linq; 4 using System.Text; 5 using System.Threading.Tasks; 6 7 namespace 笔记本品牌简单工厂模式 8 { 9 class Program 10 { 11 static void Main(string[] args) 12 { 13 Console.WriteLine("请输入电脑的品牌:&q

Python 设计模式--简单工厂模式

简单工厂模式(Factory Pattern)是一种创建型的设计模式,像工厂一样根据要求生产对象实例. 特点:根据不同的条件,工厂实例化出合适的对象. <大话设计模式>中实例:四则运算计算器 代码: 1 #!/usr/bin/env python 2 #-*- coding: utf-8 -*- 3 4 class Operation: 5 def getResult(self): 6 pass 7 8 class OperationAdd(Operation): 9 def getResul

JAVA设计模式之工厂模式(简单工厂模式+工厂方法模式)

在面向对象编程中, 最通常的方法是一个new操作符产生一个对象实例,new操作符就是用来构造对象实例的.但是在一些情况下, new操作符直接生成对象会带来一些问题.举例来说, 许多类型对象的创造需要一系列的步骤: 你可能需要计算或取得对象的初始设置; 选择生成哪个子对象实例; 或在生成你需要的对象之前必须先生成一些辅助功能的对象. 在这些情况,新对象的建立就是一个 "过程",不仅是一个操作,像一部大机器中的一个齿轮传动. 模式的问题:你如何能轻松方便地构造对象实例,而不必关心构造对象实

《大话设计模式》学习笔记系列--1. 简单工厂模式

简单工厂模式实现了一种"工厂"概念的面向对象设计模式,它可以在不指定对象具体类型的情况下创建对象.其实质是定义一个创建对象的接口,但让实现这个接口的类来决定实例化具体类.工厂方法让类的实例化推迟到子类中进行. 以书本上的计算器程序为例,其UML描述如下: 图中,AddOperator, SubtactOpertor继承算式基类Operator,而CreateOperator则是负责创建一个操作类,而不指明具体的子类类型. 下面,我们来看代码: 首先操作积累: /// <summa

设计模式之简单工厂模式

设计模式之简单工厂模式 动机:         不暴露实例化逻辑来创建对象.通过公共的接口创建新的对象.         这是一个简单的实现,客户端需要一个product,但是client不直接使用new对象,而是通过提供需要的对象信息来找factory得到新的product.         这个factory实例化一个具体的product并返回(转化成抽象的类),client段使用这个抽象的类而不用考虑它具体的实现. 应用举例:        也许工厂模式是使用最多的模式之一.举个例子,一个

模式设计学习 之 简单工厂模式

有幸看到园友推荐的 <大话设计模式>十分感谢,准备练习一下,以免忘记. 设计模式 需要灵活运用,不能为了 设计而设计,这样就得不偿失了. 简单工厂模式 又叫做 静态方法 模式 ,不在 23 种 设计模式之内 .是项目中最简单实用的 模式.它避免了大量的 代码 写在 一起 造成的 项目混乱,实现了简单的分层. 可以使用户只关心 使用 ,传入参数 调用方法. 缺点 是 大量的 业务 逻辑 处理 写在同一个 工厂 内, 当 需求发生 变动时,需要去修改工厂内的方法,这样违反了开放封闭原则. 写个例子

设计模式学习-简单工厂模式

1.什么是简单工厂模式 简单工厂模式属于类的创建模式,又叫做静态工厂模式,是通过专门建立一个类负责创建其他类的实例,被创建的类通常有着共同的父类,之所以称之为工厂,就是因为负责创建其他类的类能够根据传递参数的不同,产生不同的实例,使得程序满足松耦合.重用度高.易修改维护的特点. 2.简单工厂模式的实现 下面举例说明工厂模式,比如说我们要实现一个两个数的size运算,那么如何去设计能过做到我们上面说的特性.首先我们要设定一个运算的终极父类: #include <iostream> #includ

简单工厂模式c#

简单工厂模式c#上简单例子 namespace simplefactory { public partial class Form1 : Form { private void button1_Click(object sender, EventArgs e)//用户层次 { Operation operation = OperationFactory.createOperate(this.cbbOperation.SelectedIndex);//连接到简单工厂获取算法 operation.N