saville

博客园 首页 新随笔 联系 订阅 管理

2011年11月16日 #

摘要: 一、概述我们来实现一个企业的工资系统,该企业中不同级别的员工工资算法都不相同,针对该问题,最容易想到的莫过于在代码中堆积一大堆if…else…语句或者是switch…case…语句。如果该企业中不同级别的员工过多,或是对级别的调整比较频繁,那该系统就会显得复杂而脆弱。如何能将对象和算法解耦,从而使得在系统运行时能透明的改变对象的算法呢?这就到了策略模式大显身手的时候了。二、策略模式策略模式定义了一系列算法,把它们一个个封装起来,并且使它们可相互替换。该模式可使得算法能独立于使用它的客户而变化。策略模式的结构图如下:Context代表需要改变算法的那个对象,它维护了一个对Strategy对象的引 阅读全文
posted @ 2011-11-16 16:41 saville 阅读(4771) 评论(2) 推荐(2) 编辑