最近在学设计模式,正巧书之前学了些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
本文之初的目的是讲述设计模式中的
Prototype(原型)模式,但是如果想较清楚地弄明白这个模式,需要了解对象克隆(Object Clone),Clone
其实也就是对象复制。复制又分为了浅度复制(Shallow Copy)和 深度复制(Deep Copy),浅度复制 和 深度复制又是以 如何复制...
分类:
其他好文 时间:
2014-05-08 20:13:45
阅读次数:
339
1.js中的基本类型、表达式及类型的转换2.js作用域、内存3.js面向对象(对象的创建和类的创建)4.正则表达式5.BOM6.DOM(DOM2和DOM3)7.事件8.AJAX9.js设计模式
分类:
Web程序 时间:
2014-05-07 09:35:33
阅读次数:
365
迭代器模式定义:提供一种方法顺序访问一个聚合对象中的各个元素,而又不需要暴露该对象的内部实现
Iterator::迭代器接口。定义访问和遍历元素的接口
ConcreteIterator:具体的迭代器实现对象。实现对聚合对象的遍历,并跟踪遍历时的当前位置
Aggregate:聚合对象。定义创建相应迭代器对象的接口
ConcreteAggregate:具体聚合对象。实现创建相应的迭代器对象...
分类:
其他好文 时间:
2014-05-07 07:37:03
阅读次数:
313
在战争年代,战争双方时不时受到敌军飞机的轰炸,于是人们发明了航空警报,并派几个侦察兵放哨,一但敌机来临,立即拉响航空警报,这样所有的收听者就能听到报警逃跑。上述情节,看似平常,其实是观察者模式是完美体现。...
分类:
其他好文 时间:
2014-05-07 06:49:06
阅读次数:
342
实现一个类似QQavator功能的代码1、原始实现 1 //存在的问题: 2
//1、wear*方法出现重复代码,可以重构;实质上为代码结构一致,输出内容相同,可以通过在定义一个基类,在基类中定义抽象的Wear*,在子类中重写; 3
//2、倘若需求中新增某种服饰,需要修改Pers...
分类:
其他好文 时间:
2014-05-05 09:39:47
阅读次数:
315