我的设计模式学习之路2(工厂模式)
来源:互联网 发布:大智慧分析家软件 编辑:程序博客网 时间:2024/05/22 02:11
工厂模式(Factory)
所谓简单工厂模式是类的创建模式,是由一个工厂对象决定创建出哪 一种产品类的实例。
角色:
工厂类角色: 在客户端的直接调用创建产品,一个具体类,可以根据传入的参数不同返同不同的实例。
抽象产品角色: 一个接口,定义了具体产品所受的规范,即相同的形为。
具体产品角色:工厂类角色所需创建的类,一个具体类或多个。
1.简单工厂模式
类图:
一个简单例子,代码如下:
package com.design;public class PersonFactory{public Person getPerson(String str){if(str.equals("chinese")){return new Chinese();}if(str.equals("america")){return new America();}return null;}}interface Person{public String sayHello();public String sayGoodbye();}class America implements Person{@Overridepublic String sayHello(){return "hello";}@Overridepublic String sayGoodbye(){return "goodbye";}}class Chinese implements Person{@Overridepublic String sayHello(){return "你好";}@Overridepublic String sayGoodbye(){return "再见";}}
测试类Test
package com.design;public class Test{public static void main(String[] args){PersonFactory factory = new PersonFactory();Person chinese=factory.getPerson("chinese");System.out.println(chinese.sayHello());System.out.println(chinese.sayGoodbye());Person america = factory.getPerson("america");System.out.println(america.sayHello());System.out.println(america.sayGoodbye());}}
2.抽象工厂模式
- 我的设计模式学习之路2(工厂模式)
- 我的设计模式学习之路--简单工厂模式
- 我的设计模式学习之路二——工厂模式
- 我了解的java设计模式之工厂模式
- 再起航,我的学习笔记之JavaScript设计模式07(抽象工厂模式)
- 我理解的设计模式:工厂模式
- 我的设计模式学习之路5(观察者模式)
- 我的设计模式学习之路7(模板模式)
- 设计模式入门学习之工厂模式(工厂方法模式)
- 设计模式入门学习之工厂模式(工厂方法模式)
- 设计模式学习之工厂模式(简单工厂模式)
- 设计模式学习之简单工厂模式和工厂模式
- 设计模式入门学习之工厂模式
- 设计模式学习笔记之工厂模式
- 设计模式学习之简单工厂模式
- 设计模式学习之工厂模式
- 设计模式 学习之工厂方法模式
- 设计模式之简单工厂模式学习
- 那些年,写给青春的情书(一)
- TOP500、Green500强和Graph500强的最新世界排名
- [MFC]选择目录对话框和选择文件对话框
- i2c_device_id数据结构分析
- C++获取输入的空格
- 我的设计模式学习之路2(工厂模式)
- UVa 437 - The Tower of Babylon
- hdu 1238 Substrings
- STM32F40x学习之USART
- 推荐10款来自极客标签的超棒前端特效[第二期]
- UVA 10098 - Generating Fast
- 重载初步
- CentOS 6.4 安装 samba (未完)
- 分数类--运算符重载函数---完整版--gyy