摘要:
模板方法模式(Template Method Pattern):定义一个操作中的算法骨架,将一些步骤延迟至子类中.模板方法使得子类可以不改变一个算法的结构即可重定义该算法的某些特定步骤。 下面是一个模板方法模式的一个demo: 上面类的设计如下图: NewPaper是抽象类,定义抽象模板并实现了抽象 阅读全文
摘要:
原型模式(Prototype Pattern):用原型实例指定创建对象的种类,并且通过拷贝这些原型创建新的对象 一个原型模式的简单demo: 上面类的设计如下图: 简历类Resume继承抽象原型的clone和deepclone方法,实现对简历类的复制,并且简历类引用工作经历类,可以在复制简历类的同时 阅读全文
摘要:
工厂方法模式(Factory Method Pattern):定义一个用于创建对象的接口,让子类决定实例化哪一个类,工厂方法使一个类的实例化延时到其子类. 上面类的设计如下图: 创建一个抽象工厂类CreateLeiFeng和一个抽象对象类LeiFeng,当创建具体leifeng对象-Undergra 阅读全文
摘要:
代理模式(Proxy Pattern):为其他对象提供一种代理以控制对这个对象的访问 上面的类的设计如下图: 代理类Proxy引用代理的实体Pursite,提供与Pursite相同的接口来代替实体 作者:Andy 出处:http://www.cnblogs.com/onepiece-andy/ 本文 阅读全文
摘要:
装饰模式(Decorator Pattern):动态的给一个对象添加一些额外的职责,就增加功能来说,装饰模式比生成子类更为灵活. 下面是一个给人穿衣服的过程,使用装饰模式: 这几个类的设计如下图: 通过一个个继承自装饰类Finery的对象,实现给Person类赋予职责的功能,Person类并不会感知 阅读全文
摘要:
策略模式(Strategy Pattern):它定义了算法家族,分别封装起来,让他们之间可以相互替换,此模式让算法的变化,不会影响到使用算法的客户. 下面是一个商场活动的实现 这几个类的设计如下图: 使用一个策略类CashSuper定义需要的算法的公共接口,定义三个具体策略类:CashNormal, 阅读全文
摘要:
简单工厂模式(Simple Factory Pattern):是通过专门定义一个类来负责创建其他类的实例,被创建的实例通常都具有共同的父类. 简单工厂模式结构 Product 产品声明接口,创建者及其子类生成的所有对象都通用 Concrete ProductA/B是产品接口的不同实现 Creator 阅读全文
摘要:
Python提供了必要的函数和方法进行默认情况下的文件基本操作 文件打开方式: open(name[,mode[buf]]) name:文件路径 mode:打开方式 buf:缓冲buffering大小 文件读取方式: read([size]):读取文件(读取size字节,默认读取全部) readli 阅读全文
摘要:
先来看个栗子: 下面来看一下I/O秘籍型的线程,举个栗子——爬虫,下面是爬下来的图片用4个线程去写文件 4个线程的执行耗时为:0.421320716723秒 修改一下main_1换成单线程的: 单线程的执行耗时为:1.35626623274秒 再来看一个: task1是单线程,task2是双线程,在 阅读全文
摘要:
什么是I/O多路复用 I/O多路复用就是通过一种机制,可以监视多个描述符,一旦某个IO能够读写,通知程序进行相应的读写操作。 I/O多路复用的场合 1、当客户处理多个描述字时(通常是交互式输入和网络套接字),必须使用I/O复用 2、如果一个TCP服务器既要处理监听套接字,又要处理已连接套接字,一般也 阅读全文