简单工厂模式(Simple Factory)
2017-01-20 15:08
369 查看
简单工厂模式
简单工厂模式属于创建型模式,又叫做静态工厂方法(Static Factory Method)模式,不属于GoF 23种设计模式之一。简单工厂模式角色: 抽象产品类、具体产品类、工厂类
在简单工厂模式中将对象的创建与使用职责分离了开来,客户端不再负责对象的创建,而是将这个责任丢给了具体的工厂类,客户端只负责对象的调用,从而明确各个类的职责。符合单一职责原则。
uml类图
简单工厂模式代码实现
抽象产品类package CreatePatterns.SimpleFactoryPattern.Animal; public abstract class Animal { abstract void action();//动作 abstract void eat();//动物进食 }
具体产品类
package CreatePatterns.SimpleFactoryPattern.Animal; /* * 老虎 */ public class Tiger extends Animal{ public void action(){ System.out.println("老虎running"); } public void eat() { System.out.println("老虎吃肉"); } } /* * 鹦鹉 */ public class Parrot extends Animal{ public void action(){ System.out.println("鹦鹉Flying"); } public void eat(){ System.out.println("鹦鹉吃虫子"); } } /* * 海豚 */ public class Dolphin extends Animal{ public void action(){ System.out.println("海豚swing"); } public void eat(){ System.out.println("海豚吃鱼"); } }
工厂类
package CreatePatterns.SimpleFactoryPattern.Animal; public class SimpleFactory { //根据参数创建对象 public static Animal createProduct(String productName){ if("Tiger".equals(productName)){ return new Tiger(); }else if("Dolphin".equals(productName)){ return new Dolphin(); }else if("Parrot".equals(productName)){ return new Parrot(); } return null; } }
客户端
package CreatePatterns.SimpleFactoryPattern.Animal; /* *客户端 */ public class Client { public static void main(String[] args){ Animal tiger = SimpleFactory.createProduct("Tiger"); tiger.action(); Animal dolphin = SimpleFactory.createProduct("Dolphin"); dolphin.action(); Animal parrot = SimpleFactory.createProduct("Parrot"); parrot.action(); } }
运行结果
相关文章推荐
- 简单工厂模式(SimpleFactory)----创建笔记
- 简单工厂模式(SimpleFactoryPattern)对比工厂方法模式(FactoryMethodPattern)分析
- 设计模式——简单工厂模式(simple factory pattern)
- 简单工厂模式(Simple Factory)
- 解读设计模式----简单工厂模式(SimpleFactory Pattern),你要什么我就给你什么
- 简单工厂模式(SimpleFactoryPattern)
- java设计模式---简单工厂模式(Simple Factory)
- 简单工厂模式(Simple Factory Pattern)学习
- 简单工厂模式(Simple Factory)
- IOS设计模式浅析之简单工厂模式(SimpleFactory)
- 七种创建型模式之一: 简单工厂模式(Simple Factory)
- 设计模式(1):简单工厂模式(Simple Factory Pattern)
- 简单工厂模式(SimpleFactory Pattern)
- 简单工厂模式(SimpleFactory Pattern)
- 设计模式(四):SIMPLE FACTORY简单工厂模式 -- 创建型模式
- 简单工厂模式(Simple Factory Pattern)
- java设计模式(1):简单工厂模式(Simple Factory)
- 软件设计模式——简单工厂模式(Simple Factory)
- 一、简单工厂模式(simple factory method)
- 设计模式(Design Pattern) - 创建型模式(Creational Pattern) - 简单工厂模式(Simple Factory Pattern) - Java实现