设计模式个人理解
2014-03-19 15:02
239 查看
第八章 模板方法模式()
定义:在一个方法中定义一个算法骨架,而将一些步骤延迟到子类中。模板方法使得子类在不改变算法结构的情况下,重新定义算法的某些步骤。
个人理解:即算法都封装到抽象类中,部分细节的实现定义抽象方法或提供默认实现,由子类实现不同的具体操作或覆盖父类提供的默认方法。
优点:将整个算法定义到父类中,只需要修改该算法即可;
缺点:当算法流程有修改时,需要考虑是否可能产生子类操作。
第九章 迭代器模式(P336)
定义:迭代器模式提供一种方法顺序访问一个聚合对象中的各个元素,而又不暴露其内部的表示。
个人理解:迭代器可替代一批对象(集合)的操作(增删改查),当操作变更时,运维人员无需关注具体在哪需要更改,直接修改迭代器即可。
优点:将集合的操作封装到一起,无需关注如何实现的,直接可用;
缺点:产生一个新集合可能需要新创建一个迭代器。
代码简析:
Iterator(一个抽象迭代器接口)
BreadIterator(一个迭代器接口实现,实现面包的迭代)
jinfengchengxiangBreadIterator(另一个迭代器接口实现,专门实现金凤呈祥面包的特殊迭代)
jinfengchengxiangBread(金凤呈祥)(具体实例)
weiduomeiBread(味多美)
定义:在一个方法中定义一个算法骨架,而将一些步骤延迟到子类中。模板方法使得子类在不改变算法结构的情况下,重新定义算法的某些步骤。
个人理解:即算法都封装到抽象类中,部分细节的实现定义抽象方法或提供默认实现,由子类实现不同的具体操作或覆盖父类提供的默认方法。
优点:将整个算法定义到父类中,只需要修改该算法即可;
缺点:当算法流程有修改时,需要考虑是否可能产生子类操作。
第九章 迭代器模式(P336)
定义:迭代器模式提供一种方法顺序访问一个聚合对象中的各个元素,而又不暴露其内部的表示。
个人理解:迭代器可替代一批对象(集合)的操作(增删改查),当操作变更时,运维人员无需关注具体在哪需要更改,直接修改迭代器即可。
优点:将集合的操作封装到一起,无需关注如何实现的,直接可用;
缺点:产生一个新集合可能需要新创建一个迭代器。
代码简析:
Iterator(一个抽象迭代器接口)
BreadIterator(一个迭代器接口实现,实现面包的迭代)
jinfengchengxiangBreadIterator(另一个迭代器接口实现,专门实现金凤呈祥面包的特殊迭代)
jinfengchengxiangBread(金凤呈祥)(具体实例)
weiduomeiBread(味多美)
相关文章推荐
- 单例设计模式的个人理解
- 个人对于PHP设计模式之工厂模式的理解
- JAVA设计模式六大原则个人理解【上】
- 设计模式理解(个人笔记)
- 设计模式及其学习方法的个人理解
- 关于android的设计模式---MVP的个人理解
- 设计模式之工厂模式(个人理解)
- 设计模式之个人通俗理解
- 设计模式学习笔记(个人思考理解)
- 几种设计模式分类的个人理解
- 个人对设计模式的理解-->桥接模式
- mvp设计模式的个人理解
- 个人对单例设计模式的理解
- 个人对设计模式的理解-->建造者模式
- 个人对单例设计模式理解
- 设计模式个人理解总结
- 设计模式之Builder (创建者模式)的一些个人理解(转)
- 个人对单例设计模式的饿汉式与懒汉式理解
- 设计模式之个人理解--单例模式
- 设计模式及其学习方法的个人理解