2013年10月8日

摘要: Decorator装饰模式是一种结构型模式,它主要是解决:“过度地使用了继承来扩展对象的功能”,由于继承为类型引入的静态特质,使得这种扩展方式缺乏灵活性;并且随着子类的增多(扩展功能的增多),各种子类的组合(扩展功能的组合)会导致更多子类的膨胀(多继承)。继承为类型引入的静态特质的意思是说以继承的方式使某一类型要获得功能是在编译时。所谓静态,是指在编译时;动态,是指在运行时。GoF《设计模式》中说道:动态的给一个对象添加一些额外的职责。就增加功能而言,Decorator模式比生成子类更为灵活。代码1:被装饰的对象public abstract class AbstractCellPhone . 阅读全文
posted @ 2013-10-08 17:12 豆沙包没有肉 阅读(185) 评论(0) 推荐(0) 编辑
摘要: 策略模式跟简单工厂模式大致相同,不同的是策略模式中的上下文类会包含策略父类。代码1:策略抽象部分using System;using System.Collections.Generic;using System.Linq;using System.Text;namespace 策略模式{ /// /// 现金收取父类 /// abstract class BaseCash { //抽象方法:收取现金,参数为原价,返回为当前价 public abstract double acceptCash(double money); }... 阅读全文
posted @ 2013-10-08 15:57 豆沙包没有肉 阅读(184) 评论(0) 推荐(0) 编辑
摘要: 简单工厂:抽象产品,工厂没有抽象出来。工厂方法:抽象产品,抽象工厂。抽象工厂:抽象多种产品,抽象工厂。代码1:工厂抽象部分using System;using System.Collections.Generic;using System.Text;using System.Reflection;using System.Configuration;namespace AbstractFactory{ /// /// 抽象工厂 /// public abstract class AbstractClothesFactory { //抽象方法:创建... 阅读全文
posted @ 2013-10-08 15:47 豆沙包没有肉 阅读(192) 评论(0) 推荐(0) 编辑
摘要: using System;using System.Collections.Generic;using System.Text;/* * 工厂方法模式是简单工厂模式的衍生,解决了许多简单工厂模式的问题。首先完全实现‘开-闭 原则’,实现了可扩展。 * 其次更复杂的层次结构,可以应用于产品结果复杂的场合。 * 工厂方法模式的对简单工厂模式进行了抽象。 * 有一个抽象的Factory类(可以是抽象类和接口),这个类将不再负责具体的产品生产,而是只制定一些规范,具体的生产工作由其子类去完成。 * 在这个模式中,工厂类和产品类往往可以依次对应。 * 即一个抽象工厂对应一个抽象产品,一个具体工厂对应一个 阅读全文
posted @ 2013-10-08 15:39 豆沙包没有肉 阅读(185) 评论(0) 推荐(0) 编辑
摘要: using System;using System.Collections.Generic;using System.Text;/* *设计模式的类型上来说,简单工厂模式是属于创建型模式,又叫做静态工厂方法(Static Factory Method)模式,但不属于23种GOF设计模式之一。 *简单工厂模式是由一个工厂对象决定创建出哪一种产品类的实例。 *简单工厂模式是工厂模式家族中最简单实用的模式,可以理解为是不同工厂模式的一个特殊实现。 *简单工厂 */namespace 简单工厂_计算器{ /// /// 运算类 /// public class Oper... 阅读全文
posted @ 2013-10-08 15:35 豆沙包没有肉 阅读(187) 评论(0) 推荐(0) 编辑

导航