Java中如何通过状态模式替换繁琐的if-else结构?
- 内容介绍
- 文章标签
- 相关推荐
本文共计2625个文字,预计阅读时间需要11分钟。
许多开发人员目前仍在使用if-else的流程结构,我曾阅读过jdon哥哥写的一篇文章,介绍了如何利用command和aop模式来替代if-else流程结构。当时对这一点还不够清晰,这几天的《重构》第一章阅读后,对重构场景示例有了更深的理解。
大多数开发人员现在还在使用if else的过程结构,曾看过jdon的banq大哥写的一篇文章,利用command,aop模式替代if else过程结构。当时还不太明白,这几天看了《重构》第一章的影片租赁案例,感触颇深。下面我来谈一谈为什么要用state pattern替代if else,替代if else有什么好处,以及给出详细代码怎么替代if else。本文参考jdon的“你还在使用if else吗?”及《重构》第一章。
首先我们模仿影片租赁过程,顾客租凭影片,影片分为儿童片、普通片、新片。根据影片类型及租凭天数价格各不相同(优惠程度不同),用户累计积分不同。
OK ,现在我们使用 if else 表示。
本文共计2625个文字,预计阅读时间需要11分钟。
许多开发人员目前仍在使用if-else的流程结构,我曾阅读过jdon哥哥写的一篇文章,介绍了如何利用command和aop模式来替代if-else流程结构。当时对这一点还不够清晰,这几天的《重构》第一章阅读后,对重构场景示例有了更深的理解。
大多数开发人员现在还在使用if else的过程结构,曾看过jdon的banq大哥写的一篇文章,利用command,aop模式替代if else过程结构。当时还不太明白,这几天看了《重构》第一章的影片租赁案例,感触颇深。下面我来谈一谈为什么要用state pattern替代if else,替代if else有什么好处,以及给出详细代码怎么替代if else。本文参考jdon的“你还在使用if else吗?”及《重构》第一章。
首先我们模仿影片租赁过程,顾客租凭影片,影片分为儿童片、普通片、新片。根据影片类型及租凭天数价格各不相同(优惠程度不同),用户累计积分不同。
OK ,现在我们使用 if else 表示。

