博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

2009年7月17日

摘要: 模板方法模式定义了一个算法骨架,允许子类对算法的某个或某些步骤进行重写(override)。CoffeineBeverageWithHookCode highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/--12{《HeadFirst设计模式》之模板方法模式}3{编译工具... 阅读全文

posted @ 2009-07-17 19:37 都市牧羊 阅读(579) 评论(0) 推荐(0) 编辑

2009年6月8日

摘要: 容器的主要职责有两个:存放元素和浏览元素。根据单一职责原则(SRP)要将二者分开,于是将浏览功能打包封装就有了迭代器。用迭代器封装对动态数组的遍历:容器中的元素类Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/--12{《HeadFirst设计模式》之迭代... 阅读全文

posted @ 2009-06-08 21:59 都市牧羊 阅读(681) 评论(1) 推荐(0) 编辑

2009年6月3日

摘要: 适配器模式的主要意图是对现有类的接口进行转换,以满足目标类的需求。其次,可以给目标类的接口添加新的行为(主要指方法)。这一点容易与装饰模式混淆。从意图方面来看,装饰模式不改变(通常指增加)接口中的行为(主要指方法),而是在原有行为(主要指方法)的基础上添加新的功能;从类结构方面来看,装饰模式中的装饰者既继承又组合被装饰者。类适配器同时继承现有类和目标类,对象适配器继承目标类组合现有类。现有类,被转... 阅读全文

posted @ 2009-06-03 10:52 都市牧羊 阅读(608) 评论(0) 推荐(0) 编辑

2009年5月30日

摘要: 策略类Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/--12{《HeadFirst设计模式》之策略模式}3{本单元中的类为策略类}4{编译工具:Delphi7.0 }5{E-Mail:guzh-0417@163.com}67unituStrategy;8... 阅读全文

posted @ 2009-05-30 13:30 都市牧羊 阅读(661) 评论(0) 推荐(0) 编辑

2009年5月29日

摘要: 被装饰者 Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/--12{《HeadFirst设计模式》之装饰模式 }3{本单元中的类为被装饰者}4{编译工具:Delphi7.0}5{E-Mail:guzh-0417@163.com}67unituCompone... 阅读全文

posted @ 2009-05-29 12:12 都市牧羊 阅读(607) 评论(0) 推荐(0) 编辑

2009年5月24日

摘要: 复杂的子系统Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/--1unituSubObject;23interface45type67{TAmplifier与TTuner,TCDPlayer,TDVDPlayer相互依赖。}8{在TTuner等的简单实现时... 阅读全文

posted @ 2009-05-24 18:46 都市牧羊 阅读(685) 评论(0) 推荐(0) 编辑

2009年5月5日

摘要: 命令的接收者Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/--12{《HeadFirst设计模式》之命令模式}3{本单元中的类为命令的接收者}4{编译工具:Delphi7.0}5{联系方式:guzh-0417@163.com}67unituReceive... 阅读全文

posted @ 2009-05-05 15:19 都市牧羊 阅读(835) 评论(4) 推荐(0) 编辑

2009年5月3日

摘要: 命令模式可以很轻松的实现撤销(Undo)功能。命令的接受者:命令的接受者Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/--1unituReceiveObject;23interface45type6TLight=class(TObject)7public... 阅读全文

posted @ 2009-05-03 10:23 都市牧羊 阅读(491) 评论(0) 推荐(0) 编辑

2009年5月2日

摘要: //命令的接受者 unit uReceiveObject; interface type TLight = class(TObject) public procedure Open; procedure Off; end; TGarageDoor = class(TObject) public procedure Up; procedure ... 阅读全文

posted @ 2009-05-02 22:38 都市牧羊 阅读(1080) 评论(0) 推荐(0) 编辑

2009年4月20日

摘要: {没有应用状态模式的代码} //工程文件 program Project1; {$APPTYPE CONSOLE} uses uGumballMachine in 'uGumballMachine.pas'; var aGumballMachine: TGumballMachine; begin aGumballMachine := TGumballMachine.Create(5... 阅读全文

posted @ 2009-04-20 16:52 都市牧羊 阅读(826) 评论(0) 推荐(0) 编辑