最新文章列表

设计模式之装饰器模式

最近看到《设计之禅》的装饰器模式,特用C++实现了一遍,发现有些有意思的东西需要探究一下。UML类图:     一. C++实现 #include <stdio.h> // ...
tcspecial 评论(0) 有460人浏览 2018-05-16 17:51

decorator(HTML装饰器)

1>:每当遇到一个新的技术,首先我会问自己,这个技术是做神马的?用这个技术有神马好处?相比其它方式他的优势在哪里?我该怎样实现这个技术?       首先这个Decorator解释一下这个单词:“装饰器”,我觉得其实可以这样理解,他就像我们用到的Frame,他把每个页面都有的东东提炼了出来,也可能我们也会用各种各样的include标签,将我们的常用页面给包括进来:比如说页面的top,bot ...
paynexss 评论(0) 有448人浏览 2016-08-10 09:42

装饰者设计模式

       装饰模式是在不必改变原类文件和使用继承的情况下,动态地扩展一个对象的功能。它是通过创建一个包装对象,也就是装饰来包裹真实的对象.以下情况使用Decorator模式 1. 需要扩展一个类的功能,或给一个类添加附加职责。 2. 需要动态的给一个对象添加功能,这些功能可以再动态的撤销。 3. 需要增加由一些基本功能的排列组合而产生的非常大量的功能,从而使继承关系变的不现实。 4. ...
hm4123660 评论(3) 有1543人浏览 2015-05-28 19:06

python之理解“@”(装饰器/decorators)

前言   初学python时,第一次见到“@”符号,感觉很眼熟,如果是学习过java或者接触过AOP(面向切面编程),对于这个符号应该是比较熟悉的。实际上,python中的@也是AOP思想的一种实现。   python的@,官方语言叫做“decorators”,即装饰器。这是python的一大特性,对于初学者来说,很难透彻的理解decorators。本文以多个python例子为引,层层深 ...
xiaoyu966 评论(0) 有1704人浏览 2015-02-16 11:07

Java 设计模式-装饰器模式(Decorator)

    装饰器模式(Decorator Pattern)又名包装模式(Wrapper Pattern)。装饰模式以对客户透明的方式扩展对象的功能,是继承关系的一种替代。换言之,客户端不会觉得对象在装饰前和装饰后有什么不同。      装饰器模式(Decorator Pattern)中的各个角色: 抽象构件(Componet)角色:给出一个抽象接口,规范准备接收附加责任的对象。 具体构件( ...
zhangwei_david 评论(0) 有799人浏览 2014-10-25 13:21

(转载)Flask 出坑记

Flask 是个 Python Web 框架. 网站上文档例子都很详尽, 这里就不废话了, 只是来扯两个使用中需要注意的地方. 装饰器对被装饰函数的名字是敏感的     首先是应用程序装饰器, 如官网上的例子 ? 1 2 3 4 5 6 7 8 import flask app = flask.Flask(__name__)   @a ...
薰衣草之子 评论(0) 有1162人浏览 2014-10-17 14:36

Java - 深入浅出装饰器模式

Java程序员们应该对java.io对不会陌生,因为java.io包采用了装饰器模式。 一、定义:           Decorator装饰器,顾名思义,就是动态地给一个对象添加一些额外的职责,就好比为房子进行装修一样。因此,装饰器模式具有如下的特征:           它必须具有一个装饰的对象。           它必须拥有与被装饰对象相同的接口。           ...
Josh_Persistence 评论(0) 有3987人浏览 2014-05-09 10:57

设计模式-装饰模式

Decorator Pattern,又叫装饰模式。 装饰模式是在不必改变原类文件和使用继承的情况下,动态的扩展一个对象的功能。它是通过创建一个包装对象,也就是装饰来包裹真实的对象。 装饰模式的特点: (1)装饰对象和真实对象有相同的接口。客户端可以用与真实对象相同的方式和装饰对象交互。 (2)装饰对象包含一个真实对象的引用(reference)。 (3)装饰对象接受所有来自客户端的请求,它把这些 ...
edr_ 评论(0) 有926人浏览 2013-10-27 23:04

代理模式 & 装饰器模式 (Proxy & Decorator)

代理模式和装饰器模式虽然概念上区别很大,但是在实现时却又比较相似。 代理模式从概念上讲,就是我想访问一个服务,但是我却不需要知道真正给我提供服务的对象,我只要访问能提供给我服务的代理对象就可以了。 装饰器模式从概念上讲,就是要装饰一个对象,只要把这个对象通过装饰器的构造函数传入,装饰器会做一些额外的装饰。因为装饰器也实现了对象实现的接口,所以就可以像操作对象一样操作装饰器。 代理模式的类图 ...
luhantu 评论(0) 有2917人浏览 2013-08-01 13:58

java设计模式-装饰模式(Decorator)初探

0、每次看到下面的代码都困惑,其实这里面应用了设计模式之一的装饰模式,java.io中大量应用了装饰模式,今天我们就来一探究竟。 DataOutputStream dos = new DataOutputStream(new BufferedOutputStream(new FileOutputStream("data.txt"))); 1、什么是装饰模式? 装饰模式又名 ...
伪码农eric 评论(0) 有3608人浏览 2013-03-18 16:24

Item 16: Favor composition over inheritance

1.  Inheriting from ordinary concrete classes across package boundaries is dangerous.   2.  Unlike method invocation, inheritance violates encapsulation. The superclass’s implementation may change ...
leonzhx 评论(0) 有990人浏览 2013-03-04 17:12

用python实现一个简单的cache系统

原文查看: http://www.ibaiyang.org/2013/01/04/python-decorator-introduction/ 本篇文章将介绍python中的decorator,中文翻译为 装饰器 魔法。在这篇文章中我们将熟悉decorator使用的基本方式和基本使用例子,并利用decorator来实现一个高级的例子—缓存系统(cache system)。 Decorat ...
把酒泯恩仇 评论(0) 有2117人浏览 2013-01-04 20:29

布局框架-SiteMesh

           最近在一个项目中使用 SiteMesh ,感觉还不错,所以拿出来总结总结。首先,通过网上资料发现 SiteMesh 是由一个基于 Web 页面布局、装饰以及现存 Web 应用整合的框架。它能帮助我们在由大量页面构成的项目中创建一致的页面布局和外观,如一致的导航条、一致的菜单、一致的版权信息等等。它不仅仅能处理动态 ...
xdwangiflytek 评论(0) 有2546人浏览 2012-11-30 08:57

【转】JAVA IO 设计模式彻底分析

  我想任何一本介绍模式的书在讲到Decorator模式的时候不能不提到它的实际应用——在Java/IO库里面的应用,<<Java与模式>>这本书也不例外,有点不一样的是,这本书在介绍的时候有个专题,是从两个模式来看Java/IO库,完这个专题后,个人感觉对Java/IO库有了全新的认识同时也加深了Decorator模式跟Adapter适配器模式的理解,现和大家分享下这个在 ...
58liyl 评论(0) 有1205人浏览 2012-11-11 15:48

装饰模式

装饰模式相当于搭积木,首先有一个接口,很多个类都遵从相同的接口,构造对象的时候可以把另一个模块作为构造函数的参数传入,然后保存起来,这相当于把两个模块拼接在了一起。接着可以继续进行拼接,根据需要,拼接多少个模块都可以,相当于一个管道。拼接完以后,就可以调用共同接口中的方法,每个共同方法的内部实现都遵从一个原则,就是先去调用和它拼接在一起的上游模块的同名方法,然后再执行自己内部的逻辑,这样整个的执行过 ...
blogzhoubo 评论(0) 有1446人浏览 2012-10-23 13:37

Decorator模式的应用

最近在对一个系统做性能优化!现状分析:该系统有三类线程:A类-接收线程: 从mq中获取消息(消息字符数大约1千至3千个字符);该类线程可以启动多个,因为 ...
hubenhua1998 评论(0) 有1808人浏览 2012-08-18 23:56

python实现decorator模式

python有个很常用的语法糖是@decorator,使用它可以很方便的创建decorator装饰器模式。(当然,@的用处可不只用在创建装饰器模式)方法有两种,一种是通过创建一个包裹类Wrapper,另一种就是直接通过一个函数创建closure 简要说下装饰器模式:不改变目标的内部行为,改变目标的外在表现方式的一种模式。重点在于,它一定不干涉“内政”,只可以在目标的外围进行修饰,对目标是透明的。 ...
luozhaoyu 评论(0) 有2273人浏览 2012-05-05 00:45

Bridge & Decorator 模式

Bridge模式用来分离抽象和实现,使得这两个部分能够分别的演化而不必修改另外一部分的内容。通常的,可以在实现部分定义一些基本的原子方法,而在抽象部分则通过组合定义在实现层次中的原子方法来实现系统的功能。Decorator模式通过聚合机制来为对象动态的添加职责,解决了在子类继承中容易引起的子类爆炸的问题。   参见:http://www.ibm.com/developerworks/cn/jav ...
lancehan 评论(0) 有986人浏览 2012-04-06 22:11

最近博客热门TAG

Java(141744) C(73651) C++(68608) SQL(64571) C#(59609) XML(59133) HTML(59043) JavaScript(54919) .net(54785) Web(54514) 工作(54118) Linux(50905) Oracle(49875) 应用服务器(43289) Spring(40812) 编程(39454) Windows(39381) JSP(37542) MySQL(37267) 数据结构(36424)

博客人气排行榜

    博客电子书下载排行

      >>浏览更多下载

      相关资讯

      相关讨论

      Global site tag (gtag.js) - Google Analytics