设计模式
文章平均质量分 87
Anvien
关注我的头条主页 http://www.toutiao.com/m50320225521/
展开
-
状态模式的具体实现 情景三
这篇中,我们将看到一种不同于前两篇的状态模式设计方法。 状态切换器中自己维护了一张状态切换列表,而且不同的状态所执行的操作是一样的。 我们假设商品有多种不同的分类,每一种分类都会有不同的税收,例如商品包括食品、衣服、书等等,奢侈品会征收奢侈品税,香烟征收烟草税等等 代码结构: 商品Goods类: package com.anvien.practice.state_one; im原创 2015-10-17 20:32:13 · 446 阅读 · 0 评论 -
状态模式的具体实现 情景二
上一篇中,我们介绍了如何实现最基本的,动作中不会引起状态改变的状态模式代码设计,这一篇中,我们介绍如果动作引起了状态发生了连续性改变,该怎么设计。所谓连续性,是指状态改变,但与当前状态也有关系。 这一篇中,我们假设人有向左转的这一个动作,执行这个动作后,人的状态会发生变化。 抽象类State状态: package com.anvien.practice.state_inner原创 2015-10-17 19:48:44 · 412 阅读 · 0 评论 -
状态模式的具体实现 情景一
在此,我不解释什么叫状态模式了,大家可以去网上搜一下。 我想说一下状态模式中,不同情景下如何具体设计的问题。 一、 对于动作中不需要涉及到状态的切换的,例如我们定位的动作中,“定位”这一动作并不会引起状态改变。 文件目录: 抽象类State的代码: package com.anvien.practice.state_common; public abstra原创 2015-10-17 19:38:52 · 430 阅读 · 0 评论 -
TW Assignment的代码实现
这几天练习设计模式,在网上看到了thoughtworks的一道家庭作业题,地址:点击打开链接 原题: A squad of robotic rovers are to be landed by NASA on a plateau on Mars. This plateau, which is curiously rectangular, must be navigated原创 2015-10-13 20:35:21 · 704 阅读 · 0 评论