实战设计模式之状态模式
来源:互联网 发布:cms建站系统 编辑:程序博客网 时间:2024/05/17 09:28
只做代码分析,不做语义解析(高级程序员都从代码和UML理解设计思想)。代码来自尚学堂,UML来自本人手绘:
MMState.java
public abstract class MMState {public abstract void smile();public abstract void cry();public abstract void say();}
MMHappyState.java
public class MMHappyState extends MMState{@Overridepublic void cry() {//happy}@Overridepublic void say() {//hou mummy}@Overridepublic void smile() {//:)}}MMUnHappyState.java
public class MMUnHappyState extends MMState{@Overridepublic void cry() {//unhappy}@Overridepublic void say() {//hou papa}@Overridepublic void smile() {//:(}}
MM.java
public class MM {private String name;private MMState state = new MMHappyState();public MM(MMState state){this state = state;}public String getName() {return name;}public void setName(String name) {this.name = name;}public void smile() {state.smile();}public void cry() {state.cry();}public void say() {state.say();}}
Boy.java
public class Boy {private String name;public String getName() {return name;}public void setName(String name) {this.name = name;}public void pursue(MM mm) {}public void doSomeThing() {MMState state = new MMHappyState();MM mm = new MM(state);mm.smile();mm.cry();mm.say();}}
UML图:
状态模式:当一个对象的内在状态改变时允许改变其行为,这个对象看起来像是改变了其类
更多内容请查看我的其他blog:http://blog.csdn.net/caicongyang
- 实战设计模式之状态模式
- 设计模式解析与实战之状态模式
- Android 设计模式实战笔记 状态模式
- Android实战设计模式-----状态模式
- 设计模式之状态模式
- 设计模式之状态模式
- 设计模式之状态模式
- 设计模式之状态模式
- 设计模式之状态模式
- 设计模式之状态模式
- 设计模式之状态模式
- 设计模式之状态模式
- 设计模式之状态模式
- 设计模式之状态模式
- 设计模式之状态模式
- 设计模式之--状态模式
- 设计模式之状态模式
- 设计模式之状态模式
- shell中echo变换颜色的用法
- 把flash转换成html5
- android的目录结构
- mysql 语句 如何创建表
- 301重定向怎么做,整理分享给站长朋友的301方法大全
- 实战设计模式之状态模式
- 哎呀,这样不行呀
- Windows.ScreenToClient
- 如何区分手机内置存储卡与外置存储卡
- [转]epoll的内核实现
- 在同一个availability group上创建多个侦听器
- Source Insight里的汉字问题
- UML 类图介绍
- linux find命令