需求:给人搭配不同的服饰代码版本一# -*- encoding: utf-8 -*-class Person attr_accessor :name def initialize(name) @name = name end def wear_t...
分类:
其他好文 时间:
2014-12-31 22:49:12
阅读次数:
249
我们知道,设计模式分别是六个原则和三大模式,分别可以分为创建型模式、结构型模式、行为型模式,其中结构型模式包括:适配器模式、装饰模式、桥接模式、组合模式、享元模式、代理模式、外观模式。在这里,我们就说一下结构型模式。
适配器模式(Adapter):
定义:将一个类的接口转换成客户喜欢的另外一个接口,Adapter模式使得原本由于接口不兼容而不能一起工作的那些类一起工作。...
分类:
其他好文 时间:
2014-12-29 21:30:50
阅读次数:
223
装饰模式:动态地给一个对象添加一些额外的职责,就增加功能来说,装饰模式比生成子类更为灵活。 如果只有一个ConcreteComponent类而没有抽象的Component类,那么Decorator类可以是ConcreteComponent的一个子类。同样道理,如果只有一个ConcreteD...
分类:
其他好文 时间:
2014-12-29 10:24:53
阅读次数:
121
动态地给一个对象增加一些额外的职责。就增加功能而言,Decorator模式比生成子类更为灵活。 ——《设计模式》GoF作用:在不影响其他对象的情况下,以动态、透明的方式给单个对象添加职责。比如,我们现在想设...
分类:
其他好文 时间:
2014-12-26 16:12:23
阅读次数:
171
代理模式说明说明:顾名思义就是用一个类来代替另一个类来执行方法功能,这个模式跟装饰模式有点相似,不一样的是,代理模式是代替客户初始化被代理对象类,而装饰模式采用接口或初装饰者参数引用的方式来执行的。在动态面向对象语言里,代理模式即起到控制修饰被代理类的作用,也对被代理类起到了充分的隐藏保护作用;被代...
分类:
编程语言 时间:
2014-12-25 23:25:25
阅读次数:
306
------Java培训、Android培训、ios培训、.Net培训、期待与您交流!------Java基础之装饰类:简介:首先他是一种设计模式属于23种设计模式之一,英文叫Decorator Pattern。又叫装饰者模式。装饰模式是在不必改变原类文件和使用继承的情况下,动态地扩展一个对象的功能...
分类:
编程语言 时间:
2014-12-20 19:32:22
阅读次数:
204
结构型模式适用:当对一个类的功能进行扩展的时候,往往会往类里面 增加新的方法。但是有时在运行就需要生成一个具有新的行为的对象,当所增加的行为相对于整个类来说是比较微小时,最后可以做到不改变类文件和使用继承的情况下,动态的扩展某个对象的功能。定义:动态给一个对象增加一些额外的职责,就增加功能来说,装饰...
分类:
其他好文 时间:
2014-12-18 00:01:27
阅读次数:
304
知易行难啊,自己到底还有多少没有理解明白的,为什么一刨根问底,全部都哑火了?继续的设计模式,最起码常见的设计模式,要说清楚吧。 说完了代理模式,我们在理清和代理模式比较像的装饰模式,这个模式的UML为: 具体的应用是: 装饰模式中比较典型的调用方式:InputStream input = new D...
分类:
其他好文 时间:
2014-12-15 00:01:21
阅读次数:
312
1.简单工厂模式----工厂模式-----抽象工厂模式工厂模式的特点就是把相同基类的一组类放在一起管理。2.策略模式策略模式就是对于各种策略(算法)进行提取,把各种策略都提取在Strategy接口用,而客户端只需要使用某种策略就可以了。3.装饰模式把每个特定功能放在独立的类里面,并用类包装要装饰的对...
分类:
其他好文 时间:
2014-12-12 12:59:48
阅读次数:
144