设计模式目录:设计模式 1 ——观察者模式设计模式 2 —— 装饰者模式设计模式 3 —— 迭代器和组合模式(迭代器)设计模式 4 —— 迭代器和组合模式(组合)设计模式 5 —— 工厂模式
分类:
其他好文 时间:
2014-08-21 22:46:24
阅读次数:
206
概念:在装饰模式中的角色有: ● 抽象构件(Component)角色:给出一个抽象接口,以规范准备接收附加责任的对象。 ● 具体构件(ConcreteComponent)角色:定义一个将要接收附加责任的类。 ● 装饰(Decorator)角色:持有一个构件(Component)对象的实例...
分类:
其他好文 时间:
2014-08-21 18:34:44
阅读次数:
217
装饰模式(Decorator):动态地给一个对象添加一些额外的职责,就增加功能来说,装饰模式比生成子类更为灵活。 1 /** 2 * Component 是定义一个对象接口,可以给这些对象动态地添加职责 3 * @author Monica 4 * 5 */ 6 public abstrac...
分类:
其他好文 时间:
2014-08-21 16:44:14
阅读次数:
181
本章讨论的是一种为对象增添特性的技术,它并不使用创建新子类这种手段。装饰者模式可以透明地把对象包装在具有同样接口的另一对象之中,这样一来,你可以给一些方法添加一些行为,然后将方法调用传递给原始对象。相对于创建子类来说,使用装饰者模式对象是一种更灵活的选择。装饰者可用于为对象增加功能。它可以用来替代大...
分类:
其他好文 时间:
2014-08-21 12:53:14
阅读次数:
252
from__future__importwith_statement#-*-coding:utf-8-*-#python:2.x__author__='Administrator'#with和contextlib#对于要确保即使发生一个错误时也能运行一些清理代码而言,try...finally语句很...
分类:
编程语言 时间:
2014-08-20 22:26:32
阅读次数:
282
#装饰器02#参数检查#主要是用在接收或者返回函数,在特定上下文执行时可能有用#例如:有一个函数通过XML-RPC调用,python将不能和静态类语言中一样直接提供它的完整签名,当XML-RPC客户要求函数签名时,就需要这样的能力"""xml-rpc相关学习:http://zh.wikipedia....
分类:
编程语言 时间:
2014-08-20 19:30:32
阅读次数:
264
#-*-coding:utf-8-*-#python:2.x__author__='Administrator'#装饰器01#特点是:使得函数和方法封装(接收一个函数并返回增强版本一个函数)#语法:原始场景可以将方法在定义首部将其定义为类方法或者静态方法,在未使用装饰器之前,语法如下:classWh...
分类:
编程语言 时间:
2014-08-20 19:22:42
阅读次数:
267
scrapy升级比较频繁,有一些标签经常被废弃掉了比如读取配置文件setting.py原来用的fromscrapy.confimportsettings就废弃掉了那怎么用新的呢?官方文档用的是装饰器方法有一个更简单的方法fromscrapy.utils.projectimportget_project_settingssettings=get_project_settings()..
分类:
其他好文 时间:
2014-08-20 14:22:53
阅读次数:
246
一、设计模式的分类总体来说设计模式分为三大类:创建型模式,共五种:工厂方法模式、抽象工厂模式、单例模式、建造者模式、原型模式。结构型模式,共七种:适配器模式、装饰器模式、代理模式、外观模式、桥接模式、组合模式、享元模式。行为型模式,共十一种:策略模式、模板方法模式、观察者模式、迭代子模式、责任链模式...
分类:
其他好文 时间:
2014-08-20 08:09:46
阅读次数:
331
通过ServiceTracker可以对查找的Service进行扩展
下面的demo引入装饰器模式对Service进行日志的扩展
demo:
Provider
student-manage/Activator.java
package com.demo.service;
import java.util.Dictionary;
import java.util.Has...
分类:
其他好文 时间:
2014-08-20 00:05:55
阅读次数:
211