摘要:
迭代子(Iterator)模式又叫游标(Cursor)模式,是对象的行为模式。迭代子模式可以顺序地访问一个聚焦中的元素而不必暴露聚焦的内部表象。为什么聚集需要迭代子?聚焦对象必须提供适当的方法,允许客户端能够按照一个线性顺序遍历所有的元素对象,把元素对象提取出来或删除掉等 。一个使用聚焦的系统必然会使用这些方法操控聚焦对象,因而在使用聚焦的系统演化过程中,会出现两类问题:1.迭代逻辑没有改变,但是需要将一种聚焦换成另一种聚焦。因为不同的聚焦具有不同的遍历接口,所以需要修改客户端代码,以便将已有的迭代调用换成新聚焦对象所要求的接口2.聚焦不会改变,但是迭代方式需要改变。如原来只需要读取元素和删除 阅读全文
摘要:
观察者模式是对象的行为模式,又叫做发布-订阅(Publish/Subscribe)模式,模型-视图(Model/View)模式,源-监听器(Source/Listener)模式或从属者(Dependents)模式。观察者模式定义了一种一对多的依赖关系,让多个观察者对象同时监听某一个主题对象。这个主题对象在状态上发生变化时,会通知所有观察者对象,使它们能够自动更新自己。观察者模式的角色:1.抽象主题(Subject)角色:主题角色把所有对观察者的引用保存在一个聚焦里,每个主题都可以有任何数量的观察者。抽象主题角色提供一个接口,可以增加和删除观察者对象,主题角色又叫做抽象被观察者角色,一般用一个抽 阅读全文
摘要:
模板方法模式是类的行为模式,准备一个抽象类,将部分逻辑以具体方法以及具体构造子的形式实现,然后声明一些抽象方法来迫使子类实现剩余逻辑。不同的子类可以以不同的方式实现这些抽象方法,从而对剩余的逻辑有不同的实现。这就是模板方法的用意。 模板方法模式是基于继承的代码复用技术,模版方法模式的结构和用法也是面向对象设计的核心。它涉及两个角色:1.抽象模版(Abstract Template)角色有如下责任定义一个或多个抽象操作,以便让子类实现。这些抽象操作叫做基本操作,它们是一个顶级逻辑的组成步骤定义并实现了一个模板方法。这个模板方法一般是一个具体方法,它给出了一个顶级逻辑的骨架,而逻辑的组成步骤在相. 阅读全文