最近在学设计模式,正巧书之前学了些python,但用的还不是很成熟。《研磨设计模式》书上只给了java代码,本着以练手为目标,我照着书上打了一遍java代码,在仔细体会其思想后,将其写成了python的代码。有不对的地方希望各位批评指正~
具体原理不多做介绍,具体可以参考http://chja...
分类:
编程语言 时间:
2014-05-09 19:13:21
阅读次数:
306
一、外观模式定义
为子系统中的一组接口提供一个一致的界面,使得此子系统更加容易使用。二、书中python代码实现 1 class AModuleApi: 2 def
testA(self): 3 pass 4 class AModuleImpl(AModuleApi):...
分类:
编程语言 时间:
2014-05-09 19:07:03
阅读次数:
317
一、适配器模式定义
将一个类的接口转换成另外一个接口,适配器模式使得原本由于接口不兼容,而不能在一起工作的哪些类能够在一起工作。二、python 实现 1 import
string 2 import cPickle as p 3 import datetime 4 import o...
分类:
编程语言 时间:
2014-05-09 19:05:41
阅读次数:
380
详解javascript中的this对象前言Javascript是一门基于对象的动态语言,也就是说,所有东西都是对象,一个很典型的例子就是函数也被视为普通的对象。Javascript可以通过一定的设计模式来实现面向对象的编程,其中this“指针”就是实现面向对象的一个很重要的特性。但是this也是J...
分类:
编程语言 时间:
2014-05-09 12:00:48
阅读次数:
460
最近看了看设计模式发现自己对接口和抽象类的理解不是很清楚,于是就在网上查了查相关的文档。下面的文章转载自:http://blog.csdn.net/fenglibing/article/details/2745123接口和抽象类有什么区别你选择使用接口和抽象类的依据是什么?接口和抽象类的概念不一样。...
分类:
其他好文 时间:
2014-05-08 22:14:24
阅读次数:
302
第一部分、代理模式
代理模式是常用的java设计模式,他的特征是代理类与委托类有同样的接口,代理类主要负责为委托类预处理消息、过滤消息、把消息转发给委托类,以及事后处理消息等。代理类与委托类之间通常会存在关联关系,一个代理类的对象与一个委托类的对象关联,代理类的对象本身并不真正实现服务,而是通过调....
分类:
编程语言 时间:
2014-05-05 10:32:16
阅读次数:
472
适配器模式(Adapter
Pattern)有时候也称包装样式或者包装。将一个类的接口转接成用户所期待的。一个适配使得因接口不兼容而不能在一起工作的类工作在一起,做法是将类别自己的接口包裹在一个已存在的类中。Adapter
Pattern有两种:类的Adapter Pattern(继承)对象的Ada...
分类:
其他好文 时间:
2014-05-05 10:06:24
阅读次数:
474
实现一个类似QQavator功能的代码1、原始实现 1 //存在的问题: 2
//1、wear*方法出现重复代码,可以重构;实质上为代码结构一致,输出内容相同,可以通过在定义一个基类,在基类中定义抽象的Wear*,在子类中重写; 3
//2、倘若需求中新增某种服饰,需要修改Pers...
分类:
其他好文 时间:
2014-05-05 09:39:47
阅读次数:
315
今天我们来谈谈观察者模式的演变过程 和委托事件。
生活中,当某件事发生时,应该通知所有的相关者。例如,上课地点有变,要通知所有学习这门课的同学。
在软件设计中,当一个对象的状态发生变化是,如何通知与它相关的所有对象,就是我们今天要谈到的观察者模式。...
分类:
其他好文 时间:
2014-05-04 18:37:16
阅读次数:
328
简单工厂模式专门定义一个类来负责创建其他类的实例,被创建的实例通常都具有共同的父类。它又称为静态工厂方法模式,属于类的创建型模式。简单工厂模式的实质是由一个工厂类根据传入的参数,动态决定应该创建哪一个产品类(这些产品类继承自一个父类或接口)的实例。
1、角色及职责:
●工厂(Creator)角色
是简单工厂模式的核心,它负责实现创建所有实例的内部逻辑。工厂类可以被外界直接调用,创建所需的...
分类:
其他好文 时间:
2014-05-04 09:06:40
阅读次数:
261