设计模式之简单工厂模式
方案:主要通过向工厂中传入不同的参数,工厂将返回相应的类的实例,用户无需了解实例是怎样创建的,但是,向工厂中传入的参数是确定的,也就是说工厂所能创建的类的实例是需要事先知道的,当需要添加一个新类的时候,需要新写一个类,修改factory的逻辑判断,同时也修改客服端。
适用于创建少量对象的工厂
参考代码如下
/**
*
*/
package com.design.simpleFactory;
/**
* @author Lei
* 动物类
*/
public abstract class AnimalObj {
private String animalName;
public AnimalObj(String name){
this.animalName=name;
}
/**
*动物运动行为
*/
public abstract void move();
public String getAnimalName() {
return animalName;
}
public void setAnimalName(String animalName) {
this.animalName = animalName;
}
}
package com.design.simpleFactory;
/**
* @author Lei
* 鸟类
*/
public class Bird extends AnimalObj {
public Bird(String name) {
super(name);
}
/**
* 鸟飞
* */
@Override
public void move() {
System.out.println("bird fly");
}
}
/**
*
*/
package com.design.simpleFactory;
/**
* @author Lei
* 人类
*/
public class People extends AnimalObj {
public People(String name) {
super(name);
}
/**
* 人走
* */
@Override
public void move() {
System.out.println("people walk");
}
}
/**
*
*/
package com.design.simpleFactory;
/**
* @author Lei
* 动物简单工厂
*/
public class AnimalFactory {
public static AnimalObj createAnimal(int animal) {
AnimalObj ani=null;
switch (animal) {
case 1:
ani = new Bird("bird");
break;
case 2:
ani = new People("people");
break;
}
return ani;
}
}
/**
*
*/
package com.design.simpleFactory;
/**
* @author Lei
* 测试类
*/
public class Test {
public static void main(String args[]){
AnimalObj bird=AnimalFactory.createAnimal(1);
AnimalObj people=AnimalFactory.createAnimal(2);
bird.move();
people.move();
}
}
分享到:
相关推荐
设计模式之简单工厂模式案例
这是设计模式中简单工厂设计模式的源代码,工程中以一个计算器的示例来体现简单工厂模式的精髓。简单工厂模式主要解决创建对象的问题。
大话设计模式源代码之简单工厂模式 经典代码
完成了,但感觉这也没啥特别的,程序界面黑布隆冬的,内部结构也是最最平常的面向对象,于是我应用了《大话设计模式》这本书中的第一个模式——简单工厂模式,看上去还不错。界面的话,也就是输出的语句变了,system...
本文实例讲述了Python设计模式之简单工厂模式。分享给大家供大家参考,具体如下: 简单工厂模式(Simple Factory Pattern):是通过专门定义一个类来负责创建其他类的实例,被创建的实例通常都具有共同的父类. 下面使用...
NULL 博文链接:https://dada-fangfang.iteye.com/blog/1021067
java工厂设计模式之简单工厂实例以及介绍,程序已经运行过能正常跑通
主要介绍了c# 设计模式之简单工厂模式的的相关资料,文中代码非常详细,帮助大家更好的理解和学习,感兴趣的朋友可以了解下
设计模式之工厂方法、简单工厂、抽象工厂
主要介绍了java设计模式之简单工厂模式的相关资料,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
设计模式之简单工厂模式Demo,博客配套案例
设计模式(简单工厂模式_排序)手写的代码,自己写博客用
JAVA设计模式(01):创建型-工厂模式【简单工厂模式】(Simple Factory)
本文以实例形式较为详细的介绍了PHP设计模式的简单工厂模式,对于进行PHP程序设计来说有很好的借鉴作用。具体如下: 一、概念 简单工厂模式 【静态工厂方法模式】(Static Factory Method) 是类的创建模式 工厂模式的...
简单工厂模式的C++实例源码。适合初学者集合教程理解简单工厂模式。