1.需求设计一个计算一块手机价格的程序,不同的存储容量(16GB和32GB)价格不同,不同的颜色(白色和黑色)价格不同,不同的网络制式(联通和电信)价格不同。当用户选定好配置后,程序计算其价格。2.分析考虑到未来存储容量可能升级到64GB,网络制式可能增加移动或者其他运营商,颜色可能增加更多的颜色,...
分类:
其他好文 时间:
2014-11-18 23:54:08
阅读次数:
250
void Main(){ Component c1 = new Component(); Decorator da = new DecoratorA(); da.Decorate(c1); Decorator db = new DecoratorB(); db.Deco...
分类:
其他好文 时间:
2014-11-17 10:17:43
阅读次数:
147
装饰模式(Decorator):动态地给一个对象添加一些额外的职责,就增加功能来说,装饰模式比生成子类更为灵活。装饰模式结构图:装饰模式实现代码: /// /// 声明一个Component的抽象基类 /// abstract class Component { ...
分类:
其他好文 时间:
2014-11-16 22:51:31
阅读次数:
256
装饰模式(Decorator)
意图
装饰模式
动态地给一个对象添加一些额外的职责。就增加功能来说,Decorator模式相比生成子类更为灵活。
适用性
在不影响其他对象的情况下,以动态、透明的方式给单个对象添加职责。
处理那些可以撤消的职责。
当不能采用生成子类的方法进行扩充时。一种情况是,可能有大量独立的扩展,为支持每一种组合将产生大量...
分类:
其他好文 时间:
2014-11-16 09:24:13
阅读次数:
273
namespace DesignPattern.Structural.Decorator{ public class Component { public virtual void Show() { } } public class Decorator:Comp...
分类:
其他好文 时间:
2014-11-14 19:20:42
阅读次数:
168
最近在学习廖雪峰的python教程,在装饰器的一章中有个思考题: 请编写一个decorator,能在函数调用的前后打印出‘begin call‘和‘end call‘的日志 import functools def log(params): def decorator(): @functools....
分类:
编程语言 时间:
2014-11-14 00:25:17
阅读次数:
250
Here‘s my solution to make SOAP-headers based authentication. 1). First of all we define the decorator class for our service class: <?php
class?SOAP_Service_Secure
{
????protected?$class_na...
分类:
Web程序 时间:
2014-11-13 16:55:13
阅读次数:
250
前言:【模式总览】——————————by xingoo 模式意图 在不改变原来类的情况下,进行扩展。 动态的给对象增加一个业务功能,就功能来说,比生成子类更方便。 应用场景 1 在不生成子类的情况下,为对象动态的添加某些操作。 2 处理一些可以撤销的职责。 3 当不能使用生成子类...
分类:
其他好文 时间:
2014-10-30 20:45:48
阅读次数:
192
1. 简介装饰模式(Decorator),动态地给一个对象添加一些额外的职责,就增加功能来说,装饰模式比生成子类更为灵活。2. 程序示例 1 class Program 2 { 3 static void Main(string[] args) 4 { 5 ...
分类:
其他好文 时间:
2014-10-30 01:32:52
阅读次数:
195
Essential Diagram for Silverlight是一款功能强大的图解拓扑图控件,在XAML支持的情况下提供用户交互式地创建和编辑图解,支持数据绑定和多种布局,可以导出为多种文件格式等。具体功能:支持设置图解外观和样式Decorator Shapes支持箭头、圆、菱形连接线支持正交直...
分类:
Web程序 时间:
2014-10-24 18:14:15
阅读次数:
152