- 博客(26)
- 资源 (4)
- 收藏
- 关注
原创 Python设计模式——责任链模式
责任链模式(Chain of Responsibility Pattern)可将请求的发送方与处理请求的接收方解耦。
2015-03-13 18:01:18
2139
原创 Python设计模式——组合模式
组合模式(Composite Pattern)可用来统合类体系中的这两种对象,一种对象能够包含体系中的其他对象,另一种为基本的单元对象,并不能包含其他对象。
2015-03-11 09:28:33
1056
原创 Python设计模式——桥接模式
桥接模式(Bridge Pattern)用于将”抽象”(abstraction, 比如接口或算法)与实现方式相分离。如果不用桥接模式,那么通常的写法是,创建若干个基类,用于表示各种抽象方式,然后从每个基类中继承出两个或多个子类,用于表示对这种抽象方式的不同实现办法。用了桥接模式之后,我们需要创建两套独立的”类体系”:“抽象体系”定义了我们要执行的操作(比如接口或高层算法),而”实现体系”则包含具体实
2015-03-10 22:50:30
1390
原创 Python设计模式——适配器模式
所谓适配器模式是指是一种接口适配技术,它可通过某个类来使用另一个接口与之不兼容的类,运用此模式,两个类的接口都无需改动。适配器模式主要应用于希望复用一些现存的类,但是接口又与复用环境要求不一致的情况,比如在需要对早期代码复用一些功能等应用上很有实际价值。结构图:其中Target是用户期望的标准类,而Adaptee是我们需要匹配的类,二者通过Adapter匹配起来。代码如下:#!/usr/bin/en
2015-03-09 22:06:50
2035
原创 Python设计模式——单例模式
单例模式:保证某个类中只应该有一个实例。这里我们将使用Python Cookbook的代码方法一,继承Singleton类:class Singleton(object): """一个Python风格的单例模式""" def __new__(cls, *args, **kwargs): if not hasattr(cls,'_inst'):
2015-03-08 01:33:00
570
原创 Python设计模式——原型模式
原型模式(Prototype Pattern)用途:根据现有对象复制出新的对象并对其修改。很多种方法,以下列举出两种: 有对象:point = Point(1, 2)方法一:使用copy.deepcopyother_point = copy.deepcopy(point)point.x = 8point.y = 2方法二:使用point的类对象创建:other_point = point.__
2015-03-08 00:29:25
415
原创 Python设计模式——工厂方法模式
工厂方法模式(Factory method pattern):如果子类的某个方法要根据情况来决定用什么类去实例化相关对象,那么可以考虑该模式。此模式可单独使用,也可在无法预知对象类型时使用(比方说,待初始化的对象类型要从文件中读入,或是由用户来输入)。下面代码比较直接:#!/usr/bin/env python# encoding: utf-8""" 工厂模式"""class Abst
2015-03-07 10:30:40
718
原创 Python设计模式——建造者模式
建造者模式(Builder Pattern):它可以将复杂对象的建造过程抽象出来(抽象类别),使这个抽象过程的不同实现方法可以构造出不同表现(属性)的对象。也许在以下情况使用到它:当创建复杂对象的算法应该独立于该对象的组成部分以及它们的装配方式时;当构造过程必须允许被构造的对象有不同的表示时。参与者:AbstractBuilder 为创建一个Product对象的各个部件指定抽象接口。cla
2015-03-07 09:13:27
763
原创 Python设计模式——抽象工厂
先说说抽象工厂(Abstract Factory Pattern):提供一个创建一系列相关或相互依赖对象的接口,而无需指定它们具体的类。考虑构件工厂需要大量重复代码,我们可以使用继承和类方法来减少不必要的代码量:class FactoryTest(object): @classmethod def make_test_a(Class): return Class.Tes
2015-03-07 00:21:53
587
原创 Flask-migrate
Sqlalchemy数据库迁移官网中文简单教程具体步骤: 1. 在__init__.py中from flask.ext.migrate import Migrate, MigrateCommand # ...migrate = Migrate(app, db)manager = Manager(app)manager.add_command('db', MigrateCommand)pyth
2015-02-24 23:43:24
1006
原创 MongoDB权威指南—读书笔记(Part Two)
MongoDB权威指南—读书笔记(Part Two)索引不使用索引的查询称为全表查询。可以使用explain()函数查看MongoDB在执行查询的过程中所做的事情。> db.book.find().explain(){ "cursor" : "BasicCursor",//BasicCursor后面所接表示所有索引,本次没有 "isMultiKey" : false,//用于说明本
2015-02-24 23:40:39
464
原创 MongoDB权威指南—读书笔记(Part one)
MongoDB权威指南—读书笔记(Part One)非常棒的官方网站!MongoDB基础知识文档是MongoDB中数据的基本单元,非常类似于关系学数据库管理系统中的行,但更具表现力。类似地,集合(collection)可以看作是一个拥有动态模式(dynamic schema)的表。MongoDB的一个实例可以拥有多个相互独立的数据库(database),每一个数据库都拥有自己的集合。每一个文
2015-02-24 23:39:17
572
原创 Python爬虫初步
手写爬虫经历(豆瓣读书爬虫)这里要介绍一下urllib2这个模块作用:主要是用于打开url。 核心方法: - urlopen(url[, data][, timeout]) - 打开一个url,该url参数可以是一个string也可以是一个 Request 对象(后有介绍)。 - data参数可以是一个指定的字符串,该字符串将会送往服务器。(date应该是在标准applica
2015-02-24 23:32:08
1518
原创 SQL语句之查询
今天想介绍一下有关SQL查询的语句,因为是关系到select的语法比较多,不想insert,delete,update这么单一。select语句由几个组件或者说子句构成。不过在MySQL中,只有一种子句是必不可少的(select子句),通常的查询语句会至少包含6个子句中的2~3个。子句如下: 子句名称使用目的select确定
2014-07-03 17:33:39
602
转载 [HTTP权威指南读书笔记]第四章—连接管理
本文章是转载自:http://raytaylorlin.com/Tech/web/HTTP/HTTP-connection-management/。文章作者读
2014-06-30 20:48:50
559
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人