今天又重温了状态模式,再联合其他的一些知识点,对状态模式有了一些新的想法,加深了理解。我觉得状态模式非常适合于工作流中“申请”的状态,当我们在OA中提交一个“申请”时,这时候他的状态是创建,然后提交到部门负责人审批,当部门负责人审批后,状态同时改变,变成了“部门审批”,接着是提交到事业部老大审批,状态又变成了“副总裁审批”等,当我们需要扩展“审批”时,只要再实现一个状态就可以了,非常的方便,灵活,而且逻辑也非常的清晰。
通过这样的一个例子,我想大家结合理论,对状态模式会更易于理解。
public interface State{
public void dosomething();
public void changestate();
}
public class Context{
private State state;
public Context(){
state = new InitialState();
}
public void setState(State state){
this.state = state;
}
public void dosomething(){
state.dosomething();
state.changestate();
}
}
public class ConcreteState implements State{
private Context context
public ConcreteState(Context context){
this.context = context;
}
public void dosomething(){
//do something....
}
public void changestate(){
context.setState(new OtherState());
}
}
public class InitialState implements State{
private Context context;
public InitialState (Context context){
this.context = context;
}
public void dosomething(){
//do something....
}
public void changestate(){
context.setState(new ConcreteState(context));
}
}
public class OtherState implements State{
private Context context;
public OtherState(Context context){
this.context = context;
}
public void dosomething(){
//do something....
}
public void changestate(){
context.setState(new OtherState(context));
}
}
分享到:
相关推荐
在这个“重温Observer模式--热水器·改”的讨论中,作者将再次阐述如何不依赖C#的委托和事件来实现Observer模式,而是采用GOF(GoF,Gang of Four)的经典方式。 在Observer模式中,有两个核心角色:Subject(主题...
重温微积分 - 齐民友
微分,即导数的概念,能够计算出函数在某一点的变化率,它在描述物理世界的速度与加速度等动态变化时显得尤为重要。而积分,作为微分的逆运算,能够解决诸如计算曲线下的面积、物体的体积、质量及能量等累积问题。 ...
齐民友所著的《重温微积分》是一本旨在引导学生深入理解微积分,并启发他们探索现代数学领域的书籍。书中不仅回顾了微积分的发展历史,还涉及了数学与物理学之间的内在联系,以及现代数学的发展和应用。作者认为,...
本篇将基于“重温Activity(一)博文对应的源码”进行深入探讨,主要涵盖Activity的生命周期和启动模式,以及如何通过源码来理解这些概念。 首先,Activity的生命周期是Android开发者必须掌握的关键知识点。生命周期...
《重温微积分》是齐民友教授所著的一部关于微积分及其相关数学领域的深入探讨书籍。该书不仅涵盖微积分的传统内容,还深入探讨了微积分在现代数学中的应用和相关领域的发展。在知识点方面,该书从多个维度对微积分...
《重温微积分》一书由齐民友教授编著,该书旨在帮助读者深入理解微积分及其相关领域的核心概念和技术,并通过历史回顾的方式,揭示这些理论背后的深刻含义和发展脉络。本书不仅覆盖了传统的微积分知识,还探讨了与之...
重温老三篇心得体会精选13篇.doc
齐民优经典微积分教程,打开新世界的大门!!相对于枯燥无味的高数教材,这本书能带来不一样的启发和更为深入地理解
带领大家重温经典
C语言总结,某某培训资料总结,适合重温复习
PB,全称PowerBuilder,是...对于想要学习或重温PB9界面设计,尤其是MDI应用开发的开发者来说,这是一个宝贵的资源。尽管PB9已经较为老旧,但其核心的面向对象编程思想和强大的数据绑定能力依然对现代开发有所启示。
重温少先队誓词学习教案.pptx
本人深圳安卓开发程序猿一枚,希望能一起...最近重温了一下java的设计模式,练练手,java设计模式有23种,写了12种常用的设计模式,一些觉得用不上就没写,水平有限,有问题欢迎留言一起加油email:674928145@qq.com!
”2.4 访问权限2.5 关于VISITOR的一些警告2.6 单用户文件系统的保护2.7 多用户文件系统的保护2.8 小结第3章 主体和变体3.1 终止SINGLETON3.2 OBSERVER的烦恼3.3 重温VISITOR3.4 GENERATIONGAP3.5 TypeLaundering3.6 ...
恐龙来袭-重温侏罗纪.ppt
重温杭州地铁基坑坍塌事故.doc
重温老三篇心得体会六篇.doc
这一次重温一下《JavaScript设计模式与开发实践》,开篇为单例模式。 /** * pre 单例模式 * 定义:保证一个类仅有一个实例,并提供一个访问它的全局访问点 * 应用:单例模式是一种常用的模式,有一些对象我们...
同学聚会PPT模板:欢乐时光重温.pptx