一 什么是设计模式设计模式(Design pattern)是一套被反复使用、多数人知晓的、经过分类编目的、代码设计经验的总结。 使用设计模式是为了可重用代码、让代码更容易被他人理解、保证代码可靠性。二 设计原则要学会设计模式,首先要了解设计模式所依托的设计原则:(1)单一职责原则(SRP原则):一个对象(方法)只做一件事情。
运用的设计模式:代理模式,单例模式,装饰者模式等。(2)最少知识原则(L...
分类:
编程语言 时间:
2016-04-17 23:08:13
阅读次数:
220
Decorator模式(别名Wrapper):动态将职责附加到对象上,若要扩展功能,装饰者提供了比继承更具弹性的代替方案。 意图:动态地给一个对象添加一些额外的职责。就增加功能来说,Decorator模式相比生成子类更为灵活。 要点: 1、装饰者和被装饰对象有相同的超类型。 2、可以用一个或多个装饰 ...
分类:
其他好文 时间:
2016-04-15 18:27:52
阅读次数:
168
今天继续设计模式之旅,给大家带来装饰者模式,国际惯例,先看定义。 装饰者模式:若要扩展功能,装饰者提供了比集成更有弹性的替代方案,动态地将责任附加到对象上。 先简单描述下装饰者模式发挥作用的地方,当我们设计好了一个类,我们需要给这个类添加一些辅助的功能,并且不希望改变这个类的代码,这时候就是装饰者模 ...
分类:
其他好文 时间:
2016-04-14 11:57:15
阅读次数:
273
概述 概述 23种设计模式之一,英文叫Decorator Pattern,又叫装饰者模式。装饰模式是在不必改变原类文件和使用继承的情况下,动态地扩展一个对象的功能。它是通过创建一个包装对象,也就是装饰来包裹真实的对象。 装饰模式的特点 (1) 装饰对象和真实对象有相同的接口。这样客户端对象就能以和真 ...
分类:
其他好文 时间:
2016-04-13 18:56:03
阅读次数:
210
一.流 流,这里是对数据交换的形象称法。进程是运行在内存中的,在运行的过程中避免不了会与外界进行数据交互。比如将数据从硬盘、控制台、管道甚至是套接字(具体点应该是我们电脑上的网卡)读到我们进程锁所占据的地址空间中。这个数据交换的过程,我们称之为流。在流上的操作就所谓的I/O操作了。 二.装饰者模式 ...
分类:
编程语言 时间:
2016-04-12 00:09:18
阅读次数:
153
1. package test;interface Dongwu { void eat();} 2. package test;public class Gou implements Dongwu{ public void eat() { // TODO Auto-generated method
分类:
移动开发 时间:
2016-03-17 12:47:32
阅读次数:
215
前言: 本节将深度讨论继承滥用问题,将会学到使用对象组合的方式,在运行时装饰类,在不修改任何底层代码的情况下,给对象赋予新的职责。1. 基本需求:咖啡连锁店业务扩张需要重新设计订单系统背景:由于StarBuzz咖啡连锁店业务扩张,准备更新订单系统,以合乎他们的饮料供应要求。他们原来的类设计如下: 用户在购买咖啡的时候,可以能会要...
分类:
其他好文 时间:
2016-03-14 18:58:20
阅读次数:
325
装饰者模式 装饰者模式:简单的理解就是在原有对象上包装一层附件动作,且保持包装完后的对象与被包装者属于同一个类族,但是额外附加了该包装类所特定的动作。 其关键点有: 包装模式所体现的“对扩展开放,对修改关闭”原则: 使用包装者模式与使用继承的区别:使用包装者模式可以动态的添加行为,使用继承则是静态的
分类:
其他好文 时间:
2016-03-13 22:24:56
阅读次数:
262
装饰模式(Decorator) 装饰模式又名包装(Wrapper)模式。 装饰模式以对客户端透明的方式扩展对象的功能,是继承关系的一个替代方案。 装饰模式通过创建一个包装对象,也就是装饰,来包裹真实的对象。 装饰模式以对客户端透明的方式动态地给一个对象附加上更多的责任。换言之,客户端并不会觉得对象在
分类:
编程语言 时间:
2016-02-19 21:58:13
阅读次数:
312
一、什么是适配器 适配器是将一种接口改造成另外一种接口的一个包装类; 二、补充说明 有两种实现方式,一种是通过继承,另外一种通过组合; 使用组合实现的时候,跟装饰者模式有点类似,不过侧重点不同,装饰者模式是给对象增加新行为,适配器是为了适配接口; 优点:符合开闭原则;适配者类和目标类解耦;代码复用;
分类:
其他好文 时间:
2016-02-13 23:05:26
阅读次数:
160