原文:《大话设计模式》Python版代码实现(新增多年实践的心得)

上一周把 大话设计模式 看完了,对面向对象技术有了新的理解,对于一个在C下写代码比较多 偶尔会用到一些脚本语言写脚本的人来说,很是开阔眼界。 大话设计模式 的代码使用C 写成的,而在本人接触到的面向对象语言中,只对C 和Python还算了解,为了加深对各个模式的理解,我在网上下载了一个C 版的源代码,并根据自己的理解边读这本书边动手实践C 源代码,同时将其改写成了Python代码,算是一箭三雕吧 ...

2013-04-09 16:58 13 41590 推荐指数:

查看详情

大话设计模式Python实现- 抽象工厂模式

抽象工厂模式(Abstract Factory Pattern):提供一个创建一系列相关或相互依赖对象的接口,而无需指定它们的类 下面是一个抽象工厂的demo: 上面类的设计如下图: 优点: 具体工厂类如MysqlFactory在一个应用中只需要初始化一次 ...

Tue Nov 14 22:42:00 CST 2017 0 1736
大话设计模式Python实现-建造者模式

建造者模式(Builder Pattern):将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示 下面是一个建造者模式的demo 上面类的设计如下图: 指挥者Director 调用建造者Builder的对象 具体的建造过程是在Builder的子类 ...

Thu Nov 09 19:28:00 CST 2017 2 820
大话设计模式Python实现-状态模式

状态模式(State Pattern):当一个对象的内在状态改变时允许改变其行为,这个对象看起来像是改变了其类 下面是一个状态模式的demo: 上面类的设计如下图: 应用场景:当控制一个对象的状态转换的条件表达式过于复杂时,把状态的判断逻辑转移到表示不同状态 ...

Wed Nov 15 18:32:00 CST 2017 0 1353
大话设计模式Python实现-策略模式

策略模式(Strategy Pattern):它定义了算法家族,分别封装起来,让他们之间可以相互替换,此模式让算法的变化,不会影响到使用算法的客户. 下面是一个商场活动的实现 这几个类的设计如下图: 使用一个策略类CashSuper定义需要的算法的公共接口 ...

Mon Oct 30 19:28:00 CST 2017 0 4245
大话设计模式Python实现-代理模式

代理模式(Proxy Pattern):为其他对象提供一种代理以控制对这个对象的访问 上面的类的设计如下图: 代理类Proxy引用代理的实体Pursite,提供与Pursite相同的接口来代替实体 作者:Andy 出处:http ...

Thu Nov 02 19:27:00 CST 2017 0 1136
大话设计模式Python实现-组合模式

组合模式(Composite Pattern):将对象组合成成树形结构以表示“部分-整体”的层次结构,组合模式使得用户对单个对象和组合对象的使用具有一致性. 下面是一个组合模式的demo: 上面类的设计如下图: 应用场景: 在需要体现部分与整体层次的结构时 希望用户忽略 ...

Mon Nov 20 23:14:00 CST 2017 0 1488
大话设计模式Python实现-工厂方法模式

工厂方法模式(Factory Method Pattern):定义一个用于创建对象的接口,让子类决定实例化哪一个类,工厂方法使一个类的实例化延时到其子类. 上面类的设计如下图: 创建一个抽象工厂类CreateLeiFeng和一个抽象对象类LeiFeng,当创建具体 ...

Fri Nov 03 22:11:00 CST 2017 2 3249
大话设计模式

前言:看这本书的时候我还是个小白,第二次看的时候已经要面临找新工作了,第三次看的时候已经换了心境。用了三次 跨越三年的时间才看完这本书,真该早点看完。 每章小结: 1:简单工厂:计算器 加法、减法、乘法、除法 2:策略模式:商场促销方案 3:单一职责:手机与相机 4:开发-封闭原则 ...

Sat May 25 23:45:00 CST 2019 0 530
 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM