随笔分类 -  设计模式

摘要:快餐点餐系统 又提到了那个快餐点餐系统,不过今天我们只以其中的一个类作为主角:饮料类。首先,回忆下饮料类 除了基本配置,快餐店卖可乐时,可以选择加冰,如果加冰的话,要在原价上加0.3元;卖牛奶时,可以选择加糖,如果加糖的话,要原价上加0.5元。怎么解决这样的问题?可以选择装饰器模式来解决这一类的问题 阅读全文
posted @ 2019-03-03 12:04 鲸鱼的海老大 阅读(370) 评论(0) 推荐(0) 编辑
摘要:仓储管理系统 有一个手机仓储管理系统,使用者有三方:销售、仓库管理员、采购。需求是:销售一旦达成订单,销售人员会通过系统的销售子系统部分通知仓储子系统,仓储子系统会将可出仓手机数量减少,同时通知采购管理子系统当前销售订单;仓储子系统的库存到达阈值以下,会通知销售子系统和采购子系统,并督促采购子系统采 阅读全文
posted @ 2019-03-03 12:01 鲸鱼的海老大 阅读(273) 评论(0) 推荐(0) 编辑
摘要:药房业务系统 假设一个药房,有一些大夫,一个药品划价员和一个药房管理员,它们通过一个药房管理系统组织工作流程。大夫开出药方后,药品划价员确定药品是否正常,价格是否正确;通过后药房管理员进行开药处理。该系统可以如何实现?最简单的想法,是分别用一个一个if…else…把划价员处理流程和药房管理流程实现, 阅读全文
posted @ 2019-03-03 11:58 鲸鱼的海老大 阅读(232) 评论(0) 推荐(0) 编辑
摘要:火警报警器 在门面模式中,我们提到过火警报警器。在当时,我们关注的是通过封装减少代码重复。而今天,我们将从业务流程的实现角度,来再次实现该火警报警器。 以上是门面模式中的三个传感器类的结构。仔细分析业务,报警器、洒水器、拨号器都是“观察”烟雾传感器的情况来做反应的。因而,他们三个都是观察者,而烟雾传 阅读全文
posted @ 2019-03-03 11:57 鲸鱼的海老大 阅读(204) 评论(0) 推荐(0) 编辑
摘要:快餐点餐系统 想必大家一定见过类似于麦当劳自助点餐台一类的点餐系统吧。在一个大的触摸显示屏上,有三类可以选择的上餐品:汉堡等主餐、小食、饮料。当我们选择好自己需要的食物,支付完成后,订单就生成了。下面,我们用今天的主角--工厂模式--来生成这些食物的逻辑主体。首先,来看主餐的生成(仅以两种汉堡为例) 阅读全文
posted @ 2019-03-03 11:53 鲸鱼的海老大 阅读(305) 评论(0) 推荐(0) 编辑
摘要:总线 总线是计算机各种功能部件或者设备之间传送数据、控制信号等信息的公共通信解决方案之一。现假设有如下场景:某中央处理器(CPU)通过某种协议总线与一个信号灯相连,信号灯有64种颜色可以设置,中央处理器上运行着三个线程,都可以对这个信号灯进行控制,并且可以独立设置该信号灯的颜色。抽象掉协议细节(用打 阅读全文
posted @ 2019-03-03 11:50 鲸鱼的海老大 阅读(249) 评论(0) 推荐(0) 编辑