自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

刘伟技术博客

专注软件架构、设计模式、重构、UML和OOAD!

  • 博客(14)
  • 收藏
  • 关注

原创 如何培养软件工程人才——参加“第一届高等学校软件工程人才培养高峰论坛”有感

2012年12月8日-9日,第一届高等学校软件工程人才培养高峰论坛在广州召开,Sunny有幸受到主办方(“教育部软件工程专业教学指导分委员会”和“教育部示范性软件学院建设工作办公室”)的邀请,作了一个题为工程型软件人才设计能力的培养与提升——“设计模式”课程教学改革实践的报告。本次论坛由华南理工大学软件学院和清华大学出版社承办。

2012-12-21 22:38:02 11468 5

原创 模板方法模式深度解析(三)

4 钩子方法的使用             模板方法模式中,在父类中提供了一个定义算法框架的模板方法,还提供了一系列抽象方法、具体方法和钩子方法,其中钩子方法的引入使得子类可以控制父类的行为。最简单的钩子方法就是空方法,代码如下:public virtual void Display() { }      当然也可以在钩子方法中定义一个默认的实现,如果子类不覆盖钩子方法,则执行父类的默认实现代

2012-12-15 21:53:41 16126 21

原创 模板方法模式深度解析(二)

3 模板方法模式应用实例      下面通过一个应用实例来进一步学习和理解模板方法模式。       1. 实例说明      某软件公司欲为某银行的业务支撑系统开发一个利息计算模块,利息计算流程如下:      (1) 系统根据账号和密码验证用户信息,如果用户信息错误,系统显示出错提示;      (2) 如果用户信息正确,则根据用户类型的不同使用不同的利息计算公式计算利息(如活期账户和定期账户

2012-12-15 21:24:33 15805 12

原创 模板方法模式深度解析(一)

1. 模板方法模式概述       在现实生活中,很多事情都包含几个实现步骤,例如请客吃饭,无论吃什么,一般都包含点单、吃东西、买单等几个步骤,通常情况下这几个步骤的次序是:点单 --> 吃东西 --> 买单。在这三个步骤中,点单和买单大同小异,最大的区别在于第二步——吃什么?吃面条和吃满汉全席可大不相同,如图1所示:图1 请客吃饭示意图        在软件开发中,有时也会遇到类似的情况,某个方

2012-12-15 20:52:32 55224 25

转载 Ivar Jacobson:我们为什么需要软件工程理论

由于Sunny最近主要从事一些软件工程理论及应用方面的研究,接下来将陆续转载和翻译几篇有关软件工程理论方面的文章,希望从事软件工程研究和开发的童鞋们能从中受益!      本文转自http://www.programmer.com.cn/4310/,来自《程序员》杂志10年11期,特此说明!       Semat计划于2009年12月由软件工程三位大师(合称“Troika”)Ivar Jacob

2012-12-11 00:12:43 3338

原创 【2012 CSDN博客之星评选】期待您的支持,我会继续努力!

【承蒙各位的支持与厚爱,,Sunny有幸入围2012 CSDN博客之星评选,地址:http://vote.blog.csdn.net/item/blogstar/LoveLion,感谢大家的支持,】    软件兴邦,教育利民!致力于中国软件教育! 微博:http://weibo.com/csusunny

2012-12-10 20:27:14 2752 4

原创 多人联机射击游戏中的设计模式应用(二)

(6) 观察者模式     联机射击游戏可以实时显示队友和敌人的存活信息,如果有队友或敌人阵亡,所有在线游戏玩家将收到相应的消息,可以提供一个统一的中央角色控制类(CenterController)来实现消息传递机制,在中央角色控制器中定义一个集合用于存储所有的玩家信息,如果某玩家角色(Player)阵亡,则调用CenterController的通知方法notifyPlayers(),该方法将遍历

2012-12-06 00:02:00 13351 7

原创 多人联机射击游戏中的设计模式应用(一)

为了方便大家更加系统地学习和掌握各种常用的设计模式,下面通过一个综合实例——“多人联机射击游戏”来学习如何在实际开发中综合使用设计模式。       反恐精英(Counter-Strike, CS)、三角洲部队、战地等多人联机射击游戏广受玩家欢迎,在多人联机射击游戏的设计中,可以使用多种设计模式。下面我选取一些较为常用的设计模式进行分析:       (1) 抽象工厂模式      在联机射击游戏

2012-12-05 23:40:46 23306 2

转载 中国计算机学会推荐国际学术会议和期刊目录——软件工程/系统软件/程序设计语言

body {font-size:10.5pt;line-height:26px; color:#333; text-align:left}.tjb td{border-left: #000 solid 1px;border-bottom:#000 solid 1px;}.biaoti{ font-size:10.5pt; font-weight:bold; line-height:28px;

2012-12-05 22:43:53 6716 1

原创 深入浅出外观模式(三)

4. 抽象外观类      在标准的外观模式结构图中,如果需要增加、删除或更换与外观类交互的子系统类,必须修改外观类或客户端的源代码,这将违背开闭原则,因此可以通过引入抽象外观类来对系统进行改进,在一定程度上可以解决该问题。在引入抽象外观类之后,客户端可以针对抽象外观类进行编程,对于新的业务需求,不需要修改原有外观类,而对应增加一个新的具体外观类,由新的具体外观类来关联新的子系统对象,同时通过修改

2012-12-05 14:32:40 19957 21

原创 深入浅出外观模式(二)

3. 外观模式应用实例       下面通过一个应用实例来进一步学习和理解外观模式。        1. 实例说明       某软件公司欲开发一个可应用于多个软件的文件加密模块,该模块可以对文件中的数据进行加密并将加密之后的数据存储在一个新文件中,具体的流程包括三个部分,分别是读取源文件、加密、保存加密之后的文件,其中,读取文件和保存文件使用流来实现,加密操作通过求模运算实现。这三个操作相对独立

2012-12-05 14:20:47 28321 23

原创 深入浅出外观模式(一)

外观模式是一种使用频率非常高的结构型设计模式,它通过引入一个外观角色来简化客户端与子系统之间的交互,为复杂的子系统调用提供一个统一的入口,降低子系统与客户端的耦合度,且客户端调用非常方便。 1. 外观模式概述      不知道大家有没有比较过自己泡茶和去茶馆喝茶的区别,如果是自己泡茶需要自行准备茶叶、茶具和开水,如图1(A)所示,而去茶馆喝茶,最简单的方式就是跟茶馆服务员说想要一杯什么样的茶,是铁

2012-12-04 23:55:09 41607 31

原创 饿汉式单例与懒汉式单例的C#实现

本文将介绍如何使用C#语言实现饿汉式单例与懒汉式单例,并分析饿汉式单例与懒汉式单例的优缺点。      1. 饿汉式单例类      饿汉式单例类(Eager Singleton)是实现起来最容易的单例类,饿汉式单例类结构图如图1所示。图1 饿汉式单例类图      从图1中可以看出,由于在定义静态变量的时候实例化单例类,因此在类加载时单例对象就已创建,代码如下:class EagerSingle

2012-12-02 22:21:49 8821 5

原创 如何在类图中标注设计模式(二)

接文章《如何在类图中标注设计模式(一)》。本文姗姗来迟,见谅!         5.  基于标记的模式标注       美国德克萨斯大学达拉斯分校的Jing Dong等人提出了一种基于标记的模式标注方法(Tagged Pattern Notation)。该方法通过向原有结构图中附加标记值(Tagged Value)的方式来对模式信息进行标注,每一个类可使用“{pattern[instance]:r

2012-12-01 22:38:25 5317 3

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除