博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
简单工厂模式之共享单车
阅读量:6192 次
发布时间:2019-06-21

本文共 1020 字,大约阅读时间需要 3 分钟。

hot3.png

简单工厂模式:

打开支付宝扫一扫 ,对着共享单车的二维码 ,就可以打开共享单车

用代码来展示就是:

public enum BikeCompany {	OFO,//ofo	HELLOBIKE//哈罗单车}
//共享单车都有各自的开锁声音public interface Bike {	public void unlock();}
//哈罗单车public class HelloBike implements Bike {	@Override	public void unlock() {		// TODO Auto-generated method stub		System.out.println("hello bike");	}	}
//小黄车public class OFO implements Bike{	@Override	public void unlock() {		// TODO Auto-generated method stub		System.out.println("滴滴滴");	}}
/** * 支付宝扫一扫 *  工厂 *  */public class AlipayRichScan {	public static Bike getBike(BikeCompany bikeCompany){		switch (bikeCompany) {			case OFO:				return new OFO();			case HELLOBIKE:				return new HelloBike();			default:				return null;		}	}}

运行一下程序

public class BikeTest {	public static void main(String[] args) {		Bike bike = AlipayRichScan.getBike(BikeCompany.HELLOBIKE);		bike.unlock();//开锁声音	}}

输出结果:

hello bike

UML类图:

104852_mGuh_3568600.png

如果摩拜单车也加入了支付宝,那得修改不少东西哦... 比如enum(BikeCompany)增加摩拜单车公司,

AlipayRichScan要增加case,有没有更好的办法呢?

转载于:https://my.oschina.net/u/3568600/blog/1789734

你可能感兴趣的文章
【大数据】数据的优美
查看>>
MySQL Innodb如何找出阻塞事务源头SQL
查看>>
jQuery插件 -- Form表单插件jquery.form.js
查看>>
php命令行生成项目结构
查看>>
c# IPC实现本机进程之间的通信
查看>>
[mvc] 简单的forms认证
查看>>
nmap 端口扫描工具
查看>>
Maven项目如何将自定义文件添加到META-INF目录下
查看>>
远程桌面,身份验证错误:要求的函数不正确等解决办法
查看>>
[转]携程大数据实践:高并发应用架构及推荐系统案例
查看>>
EntityFramework Core笔记:保存数据(4)
查看>>
基于 HTML5 WebGL 的 3D 棉花加工监控系统
查看>>
Vagrant 基础全面解析
查看>>
Redis从入门到精通:初级篇(转)
查看>>
SpringBoot Mybatis 分页插件PageHelper
查看>>
刨根问底 | Elasticsearch 5.X集群多节点角色配置深入详解【转】
查看>>
python怎么写可读性好的面向过程的长篇代码?
查看>>
怎样轻松将SD卡照片数据恢复
查看>>
Gsoap编译
查看>>
Linux下函数调用堆栈帧的详细解释【转】
查看>>