简单工厂模式--java实现
来源:互联网 发布:java base64解码utf8 编辑:程序博客网 时间:2024/05/21 07:47
前两天去京东终面,叫手写一下单例模式和简单工厂模式。当时学简单工厂模式是在spring的学习中,它是spring采用的主要设计模式,简单工厂模式是类的创建模式。
简单工厂模式是类的创建模式,又叫做静态工厂方法。简单工厂模式是由一个工厂对象决定创建出哪一种产品类的实例。通常它根据自变量的不同返回不同类的实例。
简单工厂模式的实质是由一个工厂类根据传入的参数,动态的决定应该创建出哪一个产品类的实例。
简单工厂模式的构成:‘
(1)工厂类角色: 是简单工厂模式的核心,工厂类在客户端的直接调用下创建产品对象,它往往由一个具体类实现。
(2)抽象产品角色:抽象产品角色由一个借口或者抽象类实现。
(3)具体产品角色:由一个具体类实现。
package com.test.simplefactory;// 抽象产品角色. 抽象类或者接口public interface Person{ public String sayHello(String name); public String sayGoodbye(String name);}
package com.test.simplefactory;// 具体产品角色1,需要实现接口public class Chinese implements Person{ @Override public String sayHello(String name) { return name + "你好"; } @Override public String sayGoodbye(String name) { return name + "再见"; }}
package com.test.simplefactory;// 具体产品角色2public class American implements Person{ @Override public String sayHello(String name) { return name + ",hello"; } @Override public String sayGoodbye(String name) { return name + ",goodbye"; }}
package com.test.simplefactory;// 工厂类,作用就是用来生成对象public class PersonFactory{ // 作用是用来生成对象的,所以返回值肯定也是Person类型 public Person getPerson(String name) { if ("chinese".equals(name)) { return new Chinese(); } else if ("american".equals(name)) { return new American(); } else { return null; } }}
这样,客户端与具体的实现类(Chinese ,American)已经没有强耦合的关系了。我们的请求是像工厂发出的,我们需要的产品也是工厂帮助我们生成的。
0 0
- java实现简单工厂模式
- Java 实现简单工厂模式
- 简单工厂模式--java实现
- 简单工厂~工厂模式--Java实现
- 一个java实现的简单工厂模式
- Java实现简单的工厂模式
- 简单工厂模式(java语言实现)
- 简单工厂模式java代码的实现
- 简单工厂模式的java实现例子
- java简单工厂设计模式实现计算器
- 实现简单工厂模式
- 工厂模式简单实现
- 简单实现工厂模式
- Java 简单工厂模式
- java 简单工厂模式
- 简单工厂模式--Java
- Java简单工厂模式
- Java简单工厂模式
- 由微信小程序论社会生活的发展
- Ext的一些小技巧
- 基于BP算法的3维马尔可夫随机场运动目标检测
- blktap(1)
- Delphi XE8,C++ Builder XE8,RAD Studio XE8 官方 ISO 文件下载,附激活工具
- 简单工厂模式--java实现
- SpringBoot -- 集成MongoDB
- 软件注册的实现--dll篇(delphi 源码 )
- C++基础学习总结
- hadoop问题集锦
- Glide 图片加载库:
- 数据分析软件解读王者荣耀一年的“王者”成绩单
- 【Unity3D】用鼠标点击事件、AddForce完成跳跃与二段跳
- MongoDB安装