设计模式
yao050421103
这个作者很懒,什么都没留下…
展开
-
重构 - 理解设计模式的捷径(0 序言)
在弄上这篇论文之前呢,还是先写个序言吧。 这篇论文是笔者在华科读研期间上设计模式这门课程的时候创作的。内容很简单,就是重构一个小游戏的代码,引入几种设计模式。不过花的时间可不少,算了算足足有十个通宵,十一黄金周就被它占据了,连阅兵仪式LIVE都错过了,遗憾~~。虽然是个比较无聊的游戏(大学期间提出这个游戏需求规格的老师被开发的同学一致鄙视为“根本不懂游戏”),不过重构过后呢,原创 2009-11-21 00:43:00 · 1054 阅读 · 0 评论 -
重构 - 理解设计模式的捷径(1 引言)
第1章 引言 著名的EJB领域顶尖的专家Richard Monson-Haefel在其个人网站:www.EJBNow.com中极力推荐的GoF的《设计模式》,原文如下:Most developers claim to experience an epiphany reading this book. If youve never read the Design Pattern原创 2009-11-21 01:07:00 · 796 阅读 · 0 评论 -
重构 - 理解设计模式的捷径(2 背景简介)
第2章 背景简介2.1 软件需求的介绍由于大学期间是利用这个小游戏来参加软件设计大赛的,所以姑且先叫它“产品”吧。这样好像更加正规一些。软件名为“勇敢者游戏” ,功能需求之类的都是老师规定好了。还是先把需求简要介绍一下,方便之后的分析。以下引自该软件的需求规格说明书:“勇敢者”是一个角色扮演类视频游戏,它面向较成熟的用户。该游戏实现的具体功能如下:1.人物:本游戏共有原创 2009-11-21 01:14:00 · 1084 阅读 · 0 评论 -
重构 - 理解设计模式的捷径(3 设计模式的引入 - 状态模式)
第3章 设计模式的引入3.1 区域切换不再繁琐 – 状态模式的引入 3.1.1 计算机的主意还记得需求说明一节的内容吗?对了,有一个功能需求就是游戏人物区域的切换。这个功能看似容易,实际上实现起来需要非相当的功夫才能初步达到软件工程的标准:可复用,可扩展,可维护。凡是策略类游戏,大都有区域切换的需求,不管是系统人物还是玩家控制的人物,这点即使是在最经典的“红白机”游戏中也有许多案例原创 2009-11-21 01:19:00 · 1280 阅读 · 0 评论 -
重构 - 理解设计模式的捷径(4 设计模式的引入 - 工厂模式)
3.2 三思而后“new” – 工厂方法模式的引入3.2.1 直接new的后果 之前已经提到了工厂方法模式,所以现在就把它引出来吧。回到之前那个问题,客户在玩了一段时间之后,感觉游戏太简单了,敌人老是那么“有规律”地出现嘛,所以要求增加游戏难度,怎么办? 还是有两种设计方案,先看第一种,在具体的状态类的Handle方法中直接把所有的业务逻辑写出来,不分离职责。由于院子原创 2009-11-21 02:22:00 · 1131 阅读 · 0 评论 -
重构 - 理解设计模式的捷径(5 设计模式的思想)
第4章 设计模式的思想前面一章通过一个简单的需求的变化过程完整地介绍了软件重构的过程,重构所引入的设计思路,设计模式的引入,以及最终解决方案的实现过程。还是按照那位名人的说法:了解设计模式的演化过程远比了解设计模式本身重要。同样,理解设计模式演化过程中所采用的思想远比学会设计模式本身重要。我们可以再来总结一下这一系列演化采用了哪些面向对象的设计思想。首先,我们在解决区域切换函数庞大的原创 2009-11-21 02:35:00 · 932 阅读 · 0 评论 -
重构 - 理解设计模式的捷径(6 附录)
第5章 附录 – 单例模式思想的引入 本来就可以直接结束了,不过应老师的需求,需要引入至少三种设计模式,所以就把另外一种模式 – 单例模式放在这里介绍一下吧。为什么要放到最后一章才讲呢?因为虽然用到了这个模式,不过毕竟它和前面介绍的演化过程没有什么关系,所以就拿出来单独介绍了。 事实上笔者是某一天在看过这个模式后突然想到:作为单机版的策略冒险游戏,不应该支持开原创 2009-11-21 02:37:00 · 721 阅读 · 0 评论