Billpeng Space

技术源自生活
  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

2011年9月12日

摘要: 策略模式 把易于变化的行为分别封装起来,让它们之间可以互相替换, 让这些行为的变化独立于拥有这些行为的客户。 GoF《设计模式》中说道:定义一系列算法,把它们一个个封装起来,并且使它们可以相互替换。该模式使得算法可独立于它们的客户变化。Command命令模式是一种对象行为型模式,它主要解决的问题是:在软件构建过程中,“行为请求者”与“行为实现者”通常呈现一种“紧耦合”的问题。 GoF《设计模式》中说道:将一个请求封装为一个对象,从而使你可用不同的请求对客户进行参数化;对请求排队或记录请求日志,以及支持可撤销的操作。我个人觉得,策略模式和命令模式的其中一个最大区别,是在于:策略模式... 阅读全文

posted @ 2011-09-12 10:55 billpeng 阅读(1112) 评论(0) 推荐(0) 编辑

摘要: 简单工厂 理解:简单工厂模式的工厂类一般是使用静态方法,通过接收的参数不同来返回不同的对象的实例,不修改代码的话,是无法扩展的。 先定义产品类,它们需要实现同一接口或继承自同一抽象类。//产品接口(或抽象类)publicinterfaceIClassDo{voiddoSomething();}publicclassClass1:IClassDo{publicvoiddoSomething(){Console.WriteLine("class1");}}publicclassClass2:IClassDo{publicvoiddoSomething(){Console.Wri 阅读全文

posted @ 2011-09-12 02:51 billpeng 阅读(321) 评论(0) 推荐(0) 编辑

摘要: 对于简单工厂来说,它的工厂只能是这个样子的 publicclassSimplyFactory{ /** *静态工厂方法 */ publicstaticProuctfactory(Stringwhich)throwNoSuchProductExcption { if(which.equalIgnoreCase("product1")) { returnnewProduct1(); } elseif(which.equalsIgnoreCase("product2")) { returnnewProduct2(); } elseif(which.equals 阅读全文

posted @ 2011-09-12 00:36 billpeng 阅读(223) 评论(0) 推荐(0) 编辑