摘要:
模式说明所谓解释器(Interpreter)就是将一系列指令转化成代码,能够执行的代码。Interpreter本来就有翻译的意思。GoF给它的定义是:给定一个语言,定义它的文法的一种表示,并定义一个解释器,这个解释器使用该表示来解释语言中的句子。模式结构图程序示例说明:一个上下文类;一个解释器,两个... 阅读全文
摘要:
模式说明组合模式组合多个对象形成树形结构以表示“整体-部分”的结构层次。组合模式对单个对象(叶子对象)和组合对象(组合对象)具有一致性,它将对象组织到树结构中,可以用来描述整体与部分的关系。同时它也模糊了简单元素(叶 子对象)和复杂元素(容器对象)的概念,使得客户能够像处理简单元素一样来处理复杂元素... 阅读全文
摘要:
模式说明桥接模式即将抽象部分与它的实现部分分离开来,使他们都可以独立变化。桥接模式将继承关系转化成关联关系,它降低了类与类之间的耦合度,减少了系统中类的数量,也减少了代码量。个人感觉,代理模式、适配器模式和桥接模式相类似,代理模式是一个代理对外表示一个特定的类,适配器模式相当于一个适配器代理多个类,... 阅读全文
摘要:
模式说明代理模式就是给一个对象提供一个代理,并由代理对象控制对原对象的引用。在代理模式中,“第三者”代理主要是起到一个中介的作用,它连接客户端和目标对象。模式结构图程序示例说明:男孩给女孩送礼物,通过她的闺蜜来代理完成代码: 1 class Girl(object): 2 def __ini... 阅读全文
摘要:
模式说明适配器模式就是将一个类的接口,转换成客户期望的另一个接口。适配器让原本接口不兼容的类可以合作无间。在适配器模式中,我们可以定义一个包装类,包装不兼容接口的对象,这个包装类就是适配器,它所包装的对象就是适配者。适配器提供给客户需要的接口,适配器的实现就是将客户的请求转换成对适配者的相应的接口的... 阅读全文
摘要:
单例模式在Python中可以查看这里借用里面一段话,说的相当明白:I don't really see the need, as a module with functions (and not a class) would serve well as a singleton. All its va... 阅读全文
摘要:
模式说明所谓原型模式就是用原型实例指定创建对象的种类,并且通过复制这些原型创建新的对象。说到复制,就会有深/浅两种复制,这是面向对象的值类型和引用类型的差异,具体不作说明模式结构图程序示例说明:无代码: 1 import copy 2 class WorkExp: 3 place="" 4 ... 阅读全文
摘要:
模式说明建造者模式将一个复杂对象的构建与表示分离,使得同样的构建过程可以创建不同的表示。建造者模式构建复杂对象就像造汽车一样,是一个一个组件一个一个步骤创建出来的,它允许用户通过制定的对象类型和内容来创建他们,但是用户并不需要知道这个复杂对象是如何构建的,它只需要明白通过这样做我可以得到一个完整的复... 阅读全文
摘要:
模式说明抽象工厂模式提供一个接口,用于创建相关或者依赖对象的家族,而不需要明确指定具体类。抽象工厂允许客户端使用抽象的接口来创建一组相关的产品,而不需要关系实际产出的具体产品是什么。这样一来,客户就可以从具体的产品中被解耦。和工厂方法主要区别于,抽象工厂内要像像定义中说的一样,‘创建一组相关的产品’... 阅读全文
摘要:
模式说明工厂方法模式定义了一个创建对象的接口,但由子类决定要实例化的类是哪一个。工厂方法模式让实例化推迟到子类。和简单工厂区别在于,每个工厂只管生产自己对应的产品,而简单工厂是一个工厂生产各种产品。模式结构图程序示例说明:一个日志类,两个派生类(文件日志和事件日志);一个日志工厂类(返回日志类),两... 阅读全文
摘要:
模式说明简单工厂模式又称之为静态工厂方法,属于创建型模式。在简单工厂模式中,可以根据传递的参数不同,返回不同类的实例。简单工厂模式定义了一个类,这个类专门用于创建其他类的实例,这些被创建的类都有一个共同的父类。模式结构图程序示例说明:加减乘除运算,继承同一个运算类。运算工厂根据传入参数返回相应的运算... 阅读全文