
设计模式
文章平均质量分 88
tandesir
这个作者很懒,什么都没留下…
展开
-
[荐]JavaMe 编程连载(3) - 也说MVC设计模式
【更新】 2012-6-6,感觉UIController.java中,handleEvent处理函数开关分支太多,能否去掉开关语句?欢迎提出比较好的重构建议。 2012-5-19,添加UML类图 【问题描述】介绍设计模式的文章和书很多,但只有使用时,才能理解设计模式的妙处。接上一篇《JavaMe连载(2)-低级界面绘图之菜单》,本文一则对UIController作出解释,一则将自己理解的MV原创 2012-05-06 09:37:23 · 2291 阅读 · 0 评论 -
设计模式(2)-单例模式(Singleton)
【更新】2012-6-11,添加原理说明 【描述】单例模式故名思意,就是运行时只允许存在一个实例,用于限制特定对象只被创建一次。常被用于数据库的设计中。 【原理】(2012-6-11) 理解单例模式,关键是理解static关键字。下面简要对static进行分析: (1) 既然是static的,为什么程序每调用一次,不会重新初始化,使得变量值不断在变? static是指存储的位置是静态(固原创 2012-06-09 16:46:01 · 3332 阅读 · 2 评论 -
设计模式(1)-模板模式(Template)
【更新】 2012-7-9,设计模式(5)-装饰模式(Decorator),运用装饰模式的版本 2012-6-18,添加实例下载地址,文章末尾 2012-6-8,更新示例代码 【描述】模板设计模式将常用的方法进行封装,创建了一个实施一组方法和功能的抽象的对象。子类通常将这个对象作为模板用于设计。 【UML图】 图1 UML图 1 DrawTemplate有三个抽象的方法:d原创 2012-06-06 16:43:26 · 6989 阅读 · 0 评论 -
设计模式(5)-装饰模式(Decorator)
【描述】不修改原代码的结构,通过装饰器给代码增加新功能。 【UML图】 图1 UML图 (1) 原始代码为Component类,提供了operation操作; (2) 装饰器为Decorator类,提供了扩展的operation功能; (3) 注意与模板模式(设计模式(1)-模板模式(Template))的区别。 【示例代码】 component.h #ifndef CO原创 2012-07-09 15:52:48 · 2366 阅读 · 0 评论 -
设计模式(3)-策略模式(Strategy)
【描述】策略模式本质上利用的是面向对象的多态特性,构建者不必自身包含实现的逻辑,而是根据需要利用其他对象中的算法。 【UML图】 图1 UML图 (1) 定义了一个Methods基类,包含一个策略的接口MethodsInterface。 (2) 定义了MethodsStrategyA、MethodsStrategyB两种策略。 (3) 定义了一个策略构建者Context,包含Cont原创 2012-06-15 18:16:07 · 2060 阅读 · 0 评论 -
设计模式(4)-外观模式(Facade)
【描述】外观模式通过在对必需的逻辑和方法的集合前创建简单的外观接口,隐藏来自调用的复杂性。 【UML图】 图1 外观模式UML图 (1) AirCondition、Fan、Light电器类定义了一个on和off的方法; (2) Facade类定义了on和off的方法,并调用了AirCondition、Fan、Light类的on和off方法,隐藏调用的复杂性; (3) 与组合模式的不同原创 2012-07-05 16:09:46 · 2035 阅读 · 0 评论 -
设计模式(6)-适配器模式(Apater)
【描述】适配器模式将某个对象的接口适配为另一个对象所期望的接口。 【UML图】 图1 Apater模式 (1) 已知Apatee类,该类提供了画线的函数实现; (2) 现在用户要求绘制点,我们知道如果将画线函数起点和终点坐标取一致,实际上就相当于绘制了点。于是决定采用适配器模式将画线函数适配为画点函数。 【代码清单】 apatee.h #ifndef APATEE_H #原创 2012-08-11 10:09:36 · 1786 阅读 · 0 评论 -
设计模式(7)-建造模式(Build)
【更新】 2013-01-12,补充实例剖析。 【描述】建造模式定义了处理其他对象的复杂构建的对象设计。 【UML图】 图1 1 BuildClient类提供了setBuilder()方法,设置一个建造者; 2 Builder类提供了一组方法接口,BuildA()、BuildB()、BuildC(); 3 BuildClient类提供了build()方法,调用Builder对象的原创 2012-09-25 10:17:17 · 2395 阅读 · 0 评论 -
简单工厂模式C语言实现
【说明】简单工厂模式的C语言实现,改写自http://blog.youkuaiyun.com/sx_wpc/article/details/7645062一文的代码。 【代码清单】 typedef.h #ifndef __TYPEDEF_H__ #define __TYPEDEF_H__ #include #include #ifdef __cplusplus extern "C"原创 2013-03-04 20:25:19 · 6051 阅读 · 0 评论