越来越感觉,对于一些术语,真的不能看了名字就想着用自己的 语言/想法 去试着解释,比如socket/套接字,再比如装饰器,仅凭字面意思,很难理解的,反而会把你带到坑里去def f1(fn): def action(): return ""+fn()+"" return ac...
分类:
编程语言 时间:
2015-05-01 18:42:16
阅读次数:
134
装饰模式可以在不改变一个对象本身功能的基础上给对象增加额外的新行为。装饰模式是一种用于替代继承的技术,它通过一种无须定义子类的方式来给对象动态增加职责,使用对象之间的关联关系取代类之间的继承关系。在装饰模式中引入了装饰类,在装饰类中既可以调用待装饰的原有类的方法,还可以增加新的方法,以扩充原有类的功能。...
分类:
其他好文 时间:
2015-04-30 18:13:45
阅读次数:
133
装饰模式:动态地给一个对象添加一些额外的职责,就增加功能而言,装饰者模式比生成子类更加灵活。Component是定义一个对象接口,可以给这些对象动态地添加职责,ConcreteComppnent是定义了一个具体的对象,也可以给这个对象添加一些职责,Decorator,装饰抽象类,继承了Component,从外类来扩展Component类的功能,但对于Component来说,是无需知道Decorat...
分类:
其他好文 时间:
2015-04-30 14:17:05
阅读次数:
124
今天来讨论一下装饰器。装饰器是一个很著名的设计模式,经常被用于有切面需求的场景,较为经典的有插入日志、性能测试、事务处理等。装饰器是解决这类问题的绝佳设计,有了装饰器,我们就可以抽离出大量函数中与函数功能本身无关的雷同代码并继续重用。概括的讲,装饰器的作用就是为已经存在的对象添加额外的功能。1. 装...
分类:
编程语言 时间:
2015-04-29 23:06:56
阅读次数:
143
classShoping:
name={}
@staticmethod
defadd():
#name[‘1‘]=(‘name‘)
aa=("print内部方法在调用")
print(aa)
return(aa)
@classmethod
deftest(self):
print("这是我使用类方法调用!")
#returnself.add()
分类:
编程语言 时间:
2015-04-29 15:18:54
阅读次数:
162
先上uml图:
意图:动态地给一个对象添加一些额外的职责。就增加功能来说,Decorator模式相比生成子类更为灵活。
uml解析:装饰者模式又名包装器,顾名思义就是给某个对象添加一些功能,而不是给整个类添加一些功能。Component跟Decorator是聚合关系,子类ConcreteDecoratorA和ConcreteDecoratorB实现具体对Component的修饰。
下面给出...
分类:
其他好文 时间:
2015-04-29 11:49:52
阅读次数:
122
装饰器基本概念大家都知道装饰器是一个很著名的设计模式,经常被用于AOP(面向切面编程)的场景,较为经典的有插入日志,性能测试,事务处理,Web权限校验,Cache等。Python语言本身提供了装饰器语法(@),典型的装饰器实现如下:@function_wrapper
deffunction():
pass@实际上..
分类:
编程语言 时间:
2015-04-29 07:25:55
阅读次数:
185
咖啡店订单系统类设计一:初始方案class Bervage{ description; getDescription(); cost();};每种不同的饮料都是Bervage的一个派生类,由于调料多种多样,导致派生类“爆炸”二 改进class Bervage{ description; m...
分类:
其他好文 时间:
2015-04-28 22:37:50
阅读次数:
164
设计模式分为三类: 创建型,描述如何创建对象,结构型,描述在程序中如何构建类或者对象之间的组合关系,行为型,描述类或对象如何分工合作和交互。 创建型模式: 单例模式、简单工厂模式、工厂方法模式、抽象工厂模式、原型模式、建造者模式 结构型模式:设配器模式、代理模式、组合模式、桥接模式、装饰模式、...
分类:
其他好文 时间:
2015-04-28 17:49:14
阅读次数:
208
总结:本篇文章介绍了适配器模式,装饰模式和外观模式的基本知识,并根据各自的特点进行比较。适配器模式利用组合实现,将一个对象包装起来以改变其接口;装饰模式利用开放封闭原理,将一个对象包装起来以增加新的行为和责任;外观模式利用最少知识原则,将一群对象包装起来以简化其接口。这三个各有特点,我们在使用时要注意。
使用对象组合,以修改的接口包装被适配者,被适配者的任何子类,都可以搭配着适配器使用。
把客户和接口绑定起来,而不是和实现绑定起来。
我们可...
分类:
其他好文 时间:
2015-04-27 08:16:26
阅读次数:
130