23种设计模式之迭代器模式
来源:互联网 发布:tensorflow 升级 编辑:程序博客网 时间:2024/04/28 16:28
14.1.1 工资表数据的整合
考虑这样一个实际应用:整合工资表数据。
这个项目的背景是这样的,项目的客户方收购了一家小公司,这家小公司有自己的工资系统,现在需要整合到客户方已有的工资系统上。
客户方已有的工资系统,在内部是采用的List来记录工资列表;而新收购的这家公司的工资系统,在内部是采用的数组来记录工资列表;但是幸运的是,两个系统用来描述工资的数据模型是差不多的。
要整合这两个工资系统的工资数据,当然最简单的方式是考虑直接把新收购的这家公司的工资系统,也改成内部使用List来记录工资列表,但是经过仔细查看源代码,发现有很多的代码跟这个数组相关,还有很多是比较重要的逻辑处理,比如计算工资等,因此只好作罢。
现在除了要把两个工资系统整合起来外,老板还希望能够通过决策辅助系统来统一查看工资数据,他不想看到两份不同的工资表。那么应该如何实现呢?
14.1.2 有何问题
本来就算内部描述形式不一样,只要不需要整合在一起,两个系统单独输出自己的工资表,是没有什么问题的。但是,老板还希望能够以一个统一的方式来查看所有的工资数据,也就是说从外部看起来,两个系统输出的工资表应该是一样的。
经过分析,要满足老板的要求,而且要让两边的系统改动都尽可能的小的话,问题的核心就在于如何能够以一种统一的方式来提供工资数据给决策辅助系统,换句说来说就是:如何能够以一个统一的方式来访问内部实现不同的聚合对象。
- 23种设计模式之迭代器模式
- 23种设计模式之迭代器模式
- 23种设计模式之迭代器模式
- 23设计模式之迭代器模式(Iterator)
- 23设计模式之迭代器模式(Iterator)
- 23种设计模式之Bridge模式
- 23种设计模式之Adapter模式
- 设计模式之23种模式
- 23种设计模式之外观模式
- 23种设计模式之适配器模式
- 23种模式设计之生成器模式
- 23种设计模式之原型模式
- 23种设计模式之代理模式
- 23种设计模式之观察者模式
- 23种设计模式之命令模式
- 23种设计模式之组合模式
- 23种设计模式之访问者模式
- 设计模式之23种模式
- Stimulsoft报表发布新版本2012.3 报表支持PDF输出
- 十大免费软件替换盗版软件
- OpenGL ES 从零开始系列9(完结):四元数
- 批量绑定(bulk binds):FOR循环与FORALL的性能比较
- 测试小计
- 23种设计模式之迭代器模式
- 判断时间是否大于一天
- C# dll类库如何设置配置文件?
- java单例模型---懒汉式和饿汉式代码及比较
- iOS Mobile Patterns
- 用boost共享锁实现读写锁造成死锁问题
- 23种设计模式之迭代器模式1
- Log4cpp配置文件格式说明
- SharePoint 2013 使用InfoPath 提交数据到InfoPath form Library