随笔分类 -  PYTHON

摘要:意图: 动态地给一个对象添加一些额外的职责。就增加功能来说,Decorator 模式相比生成子类更为灵活。 适用性: 在不影响其他对象的情况下,以动态、透明的方式给单个对象添加职责。 处理那些可以撤消的职责。 当不能采用生成子类的方法进行扩充时。一种情况是,可能有大量独立的扩展,为支持每一种组合将产 阅读全文
posted @ 2018-10-23 10:24 NAVYSUMMER 阅读(189) 评论(0) 推荐(0)
摘要:意图: 将对象组合成树形结构以表示“部分-整体”的层次结构。C o m p o s i t e 使得用户对单个对象和组合对象的使用具有一致性。 适用性: 你想表示对象的部分-整体层次结构。 你希望用户忽略组合对象与单个对象的不同,用户将统一地使用组合结构中的所有对象。 阅读全文
posted @ 2018-10-23 10:23 NAVYSUMMER 阅读(244) 评论(0) 推荐(0)
摘要:意图: 将抽象部分与它的实现部分分离,使它们都可以独立地变化。 适用性: 你不希望在抽象和它的实现部分之间有一个固定的绑定关系。例如这种情况可能是因为,在程序运行时刻实现部分应可以被选择或者切换。 类的抽象以及它的实现都应该可以通过生成子类的方法加以扩充。这时Bridge 模式使你可以对不同的抽象接 阅读全文
posted @ 2018-10-23 10:22 NAVYSUMMER 阅读(403) 评论(0) 推荐(0)
摘要:意图: 将一个类的接口转换成客户希望的另外一个接口。Adapter 模式使得原本由于接口不兼容而不能一起工作的那些类可以一起工作。 适用性: 你想使用一个已经存在的类,而它的接口不符合你的需求。 你想创建一个可以复用的类,该类可以与其他不相关的类或不可预见的类(即那些接口可能不一定兼容的类)协同工作 阅读全文
posted @ 2018-10-23 10:19 NAVYSUMMER 阅读(162) 评论(0) 推荐(0)
摘要:意图: 保证一个类仅有一个实例,并提供一个访问它的全局访问点。 适用性: 当类只能有一个实例而且客户可以从一个众所周知的访问点访问它时。 当这个唯一实例应该是通过子类化可扩展的,并且客户应该无需更改代码就能使用一个扩展的实例时。 阅读全文
posted @ 2018-10-23 10:18 NAVYSUMMER 阅读(112) 评论(0) 推荐(0)
摘要:意图: 用原型实例指定创建对象的种类,并且通过拷贝这些原型创建新的对象。 适用性: 当要实例化的类是在运行时刻指定时,例如,通过动态装载;或者为了避免创建一个与产品类层次平行的工厂类层次时;或者当一个类的实例只能有几个不同状态组合中的一种时。建立相应数目的原型并克隆它们可能比每次用合适的状态手工实例 阅读全文
posted @ 2018-10-23 10:17 NAVYSUMMER 阅读(214) 评论(0) 推荐(0)
摘要:意图: 将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示。 适用性: 当创建复杂对象的算法应该独立于该对象的组成部分以及它们的装配方式时。 当构造过程必须允许被构造的对象有不同的表示时。 阅读全文
posted @ 2018-10-23 10:16 NAVYSUMMER 阅读(417) 评论(0) 推荐(0)
摘要:意图: 提供一个创建一系列相关或相互依赖对象的接口,而无需指定它们具体的类。 适用性: 一个系统要独立于它的产品的创建、组合和表示时。 一个系统要由多个产品系列中的一个来配置时。 当你要强调一系列相关的产品对象的设计以便进行联合使用时。 当你提供一个产品类库,而只想显示它们的接口而不是实现时。 阅读全文
posted @ 2018-10-23 10:15 NAVYSUMMER 阅读(144) 评论(0) 推荐(0)
摘要:Factory Method(工厂方法) 意图: 定义一个用于创建对象的接口,让子类决定实例化哪一个类。Factory Method 使一个类的实例化延迟到其子类。 适用性: 当一个类不知道它所必须创建的对象的类的时候。 当一个类希望由它的子类来指定它所创建的对象的时候。 当类将创建对象的职责委托给 阅读全文
posted @ 2018-10-23 10:14 NAVYSUMMER 阅读(128) 评论(0) 推荐(0)
摘要:参考文献: 《大话设计模式》——吴强 《Python设计模式》——pythontip.com 《23种设计模式》——http://www.cnblogs.com/beijiguangyong/ 设计模式是什么? 设计模式是经过总结、优化的,对我们经常会碰到的一些编程问题的可重用解决方案。一个设计模式 阅读全文
posted @ 2018-10-23 10:12 NAVYSUMMER 阅读(187) 评论(0) 推荐(0)
摘要:Python连接memcached的库有很多,处于简单以及高效的原则,最终选择了pymemcache, 优点 完全实现了memcached text协议 对于send/recv操作可以配置timeout 支持"noreply"特性,该可行可以先出的提高写的速度 使序列化/反序列化更简单 可以将网络异 阅读全文
posted @ 2018-09-19 18:00 NAVYSUMMER 阅读(316) 评论(0) 推荐(0)
摘要:安装Python的memcached驱动模块 简单的操作示例: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 #!/usr/bin/env python3 #coding:utf8 import memcache #链接 mc = memcache.Client(['139 阅读全文
posted @ 2018-09-19 17:55 NAVYSUMMER 阅读(144) 评论(0) 推荐(0)
摘要:1.安装PyMongo 注意:请勿安装“bson”软件包。 PyMongo配有自己的bson包; 执行“pip install bson”或“easy_install bson”则会安装与PyMongo不兼容的第三方软件包。 使用pip安装 我们建议在所有平台上使用pip来安装pymongo: Sh 阅读全文
posted @ 2018-09-19 11:04 NAVYSUMMER 阅读(4930) 评论(0) 推荐(1)
摘要:Redis安装及教程: redis教程 安装Python的redis接口模块 redis-py requires a running Redis server. See redis教程 for installation instructions. To install redis-py, simpl 阅读全文
posted @ 2018-09-19 10:32 NAVYSUMMER 阅读(323) 评论(0) 推荐(0)
摘要:工具 python paramiko 远程执行命令 阅读全文
posted @ 2018-08-30 16:02 NAVYSUMMER 阅读(675) 评论(0) 推荐(0)
摘要:缩进 每级缩进用4个空格 示例: (垂直隐式缩进)对准左括号 def function_name(var_one,var_two, var_three,var_four,) 不对准左括号,但是要比下面的代码内容多一层缩进以便和后面的内容区别开来 def function_name(var_one,v 阅读全文
posted @ 2018-08-29 16:14 NAVYSUMMER 阅读(234) 评论(0) 推荐(0)
摘要:或者 或者: 或者: 阅读全文
posted @ 2018-06-04 09:18 NAVYSUMMER 阅读(384) 评论(0) 推荐(0)
摘要:一、简述 通过前面的分析,我们知道无论是创建一个客户端还是服务器,第一步要做的就是调用thriftpy.load对thrift文件进行解析,并在内存中构建相应的module,本文将对load方法进行一个简单的分析。 二、load方法分析 load方法关键代码如下,该方法调用了parser模块中的pa 阅读全文
posted @ 2018-06-01 17:32 NAVYSUMMER 阅读(515) 评论(0) 推荐(0)
摘要:sleep.thrift文件(什么是thrift文件?),文件内容如下,该文件定义了一个Sleep服务,该服务提供一个sleep方法,sleep方法接受一个32位int类型的参数且没有返回值 sleep_server.py文件,文件内容如下 sleep_client.py文件,文件内容如下 运行结果 阅读全文
posted @ 2018-06-01 17:30 NAVYSUMMER 阅读(322) 评论(0) 推荐(0)
摘要:本文源码寄方于github:https://github.com/w392807287/Design_pattern_of_python 参考文献: 《大话设计模式》——吴强 《Python设计模式》——pythontip.com 《23种设计模式》——http://www.cnblogs.com/ 阅读全文
posted @ 2018-05-10 09:50 NAVYSUMMER 阅读(581) 评论(0) 推荐(1)

交流群 编程书籍