
设计模式
文章平均质量分 80
zy_dream
这个作者很懒,什么都没留下…
展开
-
Python的创建型设计模式之抽象工厂模式
注:书上定义和展示代码均来自《Python编程实战》抽象工厂模式,书上定义:用来创建复杂的对象,这种对象由许多小的对象组成,而这些小的对象都属于特定的“系列”。回头再读这段话,然后再回想敲过书上的这个实例。用简单话来概括就是,你现在要完成一个东西,这个东西里面有几部分(3部分吧),这3部分吧,你可以用红色完成,但你也可以用绿色完成,反正最后这个东西成型了,咦你一看,哦这里面是3部分原创 2017-03-29 14:26:57 · 529 阅读 · 0 评论 -
Python的结构型设计模式之组合模式
组合模式,可用来统合类体系中的两种对象:一种对象能够包含体系中的其他对象,另一种不能。前者叫“组合体”,后者叫“非组合体”白话来说,好几个东西,都是来自于同一个祖父,但是有些却结合了在一起,而结合在一起的它们,又可以用一个父亲来表示。这个父亲还能继续结合其他的小东西。今天这个例子确实是很确切了:大箱子盒子 铅笔盒 铅笔铅笔 橡皮 尺子第一种方法呢,就是:大箱原创 2017-04-20 09:29:31 · 1137 阅读 · 0 评论 -
Python的结构型设计模型之修饰器模式
一般来说,“修饰器”是个单参数的函数,其参也是函数。框架经常使用修饰器把用户所编写的函数集成进来。白话说就是在一个函数定义的前一行,写上修饰器,就代表此函数具有修饰器的功能。我现在用的最多的就是 flask 框架,有的函数其修饰器,可以设置成只有已登录用户进行操作。框架里面的路由视图多了,这样的一个修饰器起到了极大的作用。以下代码依次对修饰器进行举例:def float_args_原创 2017-04-21 14:10:33 · 422 阅读 · 0 评论 -
Python的结构型设计模式之代理模式
说代理模式之前,先把享元模式简单的说下。享元模式,基本就是我们程序开头常见的那些静态常量定义,还有字典的使用。而在类里面使用的话就是 __slots__ 这个关键字,能减少内存。总而言之享元模式就是要让你方便和高效的模式,可多多使用。那么代理模式,也可以说是一个能减少内存和使用空间的模式。从书上的例子给看,给我的印象就是,你可以先创建一个类,让这个类代理着创造些东西,当你真正需要哪一个东西原创 2017-04-26 14:07:13 · 375 阅读 · 0 评论 -
Python的行为设计模式之解释器模式的 eval
解释器模式,能够以规范的流程解决:向用户提供某种输入手段,使其可向应用程序中输入“非字符串值”,并允许用户给应用程序编程懂了没。就是你可以把输入的一些东西,当作一个程序来运行。比如你输入 sum(1+2+3+4),这时会明白说:哦你这是要求和啊,可以的,给你求:sum=10这里先来看 eval()。书上给的例子蛮有特点的,先看运行结果吧:Enter an experssion (C原创 2017-05-16 15:50:08 · 408 阅读 · 0 评论 -
Python的结构型设计模式之外观模式
书上说:如果某套接字因为太过于复杂或太专注于底层细节而变得不易使用,那么可考虑用“外观模式”将其简化并统合起来讲真的,后面的享元模式和代理模式还好点,这一个外观模式,我怎么看也就是那样:虽然这次没有类继承类,但A方法里面用B方法,在下面实现B方法。这里我个人总结的就是这么回事呐。此次的例子是设计一套简单而一致的接口来获知压缩文档里的各个文件名,并将其解压。概括起来就是,定义一个方法类用原创 2017-04-24 15:48:02 · 338 阅读 · 0 评论 -
Python的创建型设计模式之工厂设计模式
工厂,就是创造生产东西的地方。因此,工厂设计模式就是直接创造你所需要的类以供使用的时候直接拿来用即可。对比前两种设计模式,工厂设计模式,笔者认为能更好的对你所做的东西进行规划处理,条理能更清楚一点。这也是为什么此书把工厂设计模式作为重点的原因吧。书上的例子是用工厂设计模式来创建两个棋盘——国际象棋和国际跳棋。1.生产的是棋盘2.分类为象棋和跳棋3.对应的棋子创建以上原创 2017-04-05 16:00:17 · 578 阅读 · 0 评论 -
Python的结构型设计模式之桥接模式
用于将“抽象”(比如接口或算法)与实现方式相分离一般写法:若干基类每个基类: 子类A 子类B 子类C 用来表示对这种抽象方法的不同实现桥接模式:抽象体系 定义我们所要执行的操作实现体系 定义包含具体实现方式抽象体系调用实现体系以完成其操作。抽象体系中的类会把实现体系中的某个类实例聚合进来,而这个实例将充当抽象接口与具体实现原创 2017-04-12 21:57:47 · 314 阅读 · 0 评论 -
Python的创建型设计模式之建造者模式
注:书上定义和展示代码均来自《Python编程实战》原创 2017-04-01 16:09:57 · 427 阅读 · 0 评论 -
Python的结构型设计模式之适配器模式
在学习完适配器模式之后,让我用一句话来总结之:就是把前一个类拿来用,用到你所希望它做的事。“适配器模式”是一种接口适配技术,可通过某个类来使用另一个接口与之不兼容的类,运用此模式时,两个类的接口都无须改动。今天看的例子是关于一个页面生成,以及对标题和段落进行渲染的 Page 类。首先是一个 Page 类。class Page: def __init__(self, title, ren原创 2017-04-09 21:13:30 · 378 阅读 · 0 评论 -
Python的创建型设计模式之原型模式与单例模式
原型模式,使用的情景:是想根据现有的对象复制出新的对象并对其修改。这里的举例,是以平面上的点为类,进行原型模式的演示class Point: def __init__(self, x, y): self.x = x self.y = ypoint1 = Point(1, 2)point2 = eval("{}({},{})".format("原创 2017-04-07 21:01:25 · 277 阅读 · 0 评论 -
Python的行为设计模式之责任链模式
这章来讲行为设计模式,关注做事的过程,也就是算法及对象间的交互。首先来看的是责任链模式。 “责任链模式”,可将请求的发送方与处理请求的接收方解耦。解耦这个词厉害了:两个或者两个以上的体系或两种运动形式间通过相互作用而彼此影响以至于联合起来的现象意思就是,在几个物体身上发生相似的事件,可以像流水线的形式走完。常规的方式就是一个基类,然后几个子类,用函数参数套函数的形原创 2017-05-09 09:32:52 · 544 阅读 · 0 评论