摘要: 访问者模式 在访问者模式(Visitor Pattern)中,我们使用了一个访问者类,它改变了元素类的执行算法。通过这种方式,元素的执行算法可以随着访问者改变而改变。这种类型的设计模式属于行为型模式。根据模式,元素对象已接受访问者对象,这样访问者对象就可以处理元素对象上的操作。 介绍 意图:主要将数 阅读全文
posted @ 2018-09-17 10:54 北风之神0509 阅读(648) 评论(0) 推荐(0)
摘要: 之前已经发过单独的缓存,这也算一种模式。 阅读全文
posted @ 2018-09-17 10:54 北风之神0509 阅读(541) 评论(0) 推荐(0)
摘要: 迭代器模式 迭代器模式(Iterator Pattern)是 Java 和 .Net 编程环境中非常常用的设计模式。这种模式用于顺序访问集合对象的元素,不需要知道集合对象的底层表示。 迭代器模式属于行为型模式。 介绍 意图:提供一种方法顺序访问一个聚合对象中各个元素, 而又无须暴露该对象的内部表示。 阅读全文
posted @ 2018-09-17 10:53 北风之神0509 阅读(642) 评论(0) 推荐(0)
摘要: 中介者模式 中介者模式(Mediator Pattern)是用来降低多个对象和类之间的通信复杂性。这种模式提供了一个中介类,该类通常处理不同类之间的通信,并支持松耦合,使代码易于维护。中介者模式属于行为型模式。 介绍 意图:用一个中介对象来封装一系列的对象交互,中介者使各对象不需要显式地相互引用,从 阅读全文
posted @ 2018-09-17 10:53 北风之神0509 阅读(404) 评论(4) 推荐(0)
摘要: 备忘录模式 备忘录模式(Memento Pattern)保存一个对象的某个状态,以便在适当的时候恢复对象。备忘录模式属于行为型模式。 介绍 意图:在不破坏封装性的前提下,捕获一个对象的内部状态,并在该对象之外保存这个状态。 主要解决:所谓备忘录模式就是在不破坏封装的前提下,捕获一个对象的内部状态,并 阅读全文
posted @ 2018-09-17 10:53 北风之神0509 阅读(304) 评论(0) 推荐(0)
摘要: class QueueObject(): def __init__(self, queue, auto_get=False): self._queue = queue self.object = self._queue.get() if auto_get else None def __enter__(self): if... 阅读全文
posted @ 2018-09-17 10:53 北风之神0509 阅读(1665) 评论(0) 推荐(0)
摘要: 桥接模式 桥接(Bridge)是用于把抽象化与实现化解耦,使得二者可以独立变化。这种类型的设计模式属于结构型模式,它通过提供抽象化和实现化之间的桥接结构,来实现二者的解耦。 这种模式涉及到一个作为桥接的接口,使得实体类的功能独立于接口实现类。这两种类型的类可被结构化改变而互不影响。 我们通过下面的实 阅读全文
posted @ 2018-09-17 10:52 北风之神0509 阅读(703) 评论(0) 推荐(1)
摘要: 设计模式上大的方向上分继承和组合,就是类模式和对象模式。此篇的组合模式非继承和组合概念中的组合。桥接 策略 代理 装饰者都用了组合,此组合非彼组合。 组合模式 组合模式(Composite Pattern),又叫部分整体模式,是用于把一组相似的对象当作一个单一的对象。组合模式依据树形结构来组合对象, 阅读全文
posted @ 2018-09-17 10:52 北风之神0509 阅读(650) 评论(0) 推荐(0)