关于作者

用户名:BrandyCao_2005
笔名:BrandyCao_2005
地区:
姓名:
性别:其他
出生日期:--
地区:
联系电话:
QQ:
邮件:
婚否:保密

日历  

快速登录

+ 用户名:
+ 密 码:

我的博采 我的论坛 我的RSS

文章索引

在线留言

访问统计:38



Powered by BlogDriver 2.1

Brandy's blog

 

Brandy,一个始终在拼搏并享受着软件开发乐趣的普通程序员,着迷于各种面向对象相关的技术,喜欢把软件开发当成是一种艺术行为,尤其景仰国外那些有艺术家气息的大师,愿与经留此地的诸君探讨各种技术问题。技术研究方向:OOP/OOD、设计模式、UML。

文章

用魔法棒构建各种各样的建筑物
看过帝国时代、星际游戏中用来构建各种建筑物的神奇手法吗? 只要选择用来构建某种建筑物的小图标,系统就会为你构建相应的建筑物,对于我们程序员来说,我们应该想想它究竟是怎样实现的。

      假设我是一个建筑师同时也是个魔术师(其实想想,软件设计师跟这两个职业是有很大的相似之处的),我有能力设计各种各样的建筑,比如庙宇、商业楼、居民房等等,我们知道所有的这些建筑其实都是有共同点的,就是这些建筑都有门、窗、地板等等基本建筑元素。在我手中有一些魔法棒,每一种魔法棒都有能力按照其内部预先定的规则构建某一种建筑物,我只要挥一挥手中某个魔法棒就能构造一幢相应的建筑物了,是不是很方便呢? 在现实中这确实不能实现,但在我们的虚拟电脑世界里,我们完全可以用程序来实现。设计如下一个软件架构图:

      根据上面这个架构图,我,建筑师兼魔术师,只要把手中的某种魔术棒(比如居民房魔术棒)放入施工中心,施工中心就可以根据具体的魔术棒构造对应的建筑物了。没准帝国时代、星际就是利用这种办法产生各种建筑物的呢! :)   

      上面我举的这个例子其实是一个叫做BUILDER的设计模式。具体关于这个设计模式的介绍可以参考相关的书籍,我在这不再重复了,以后凡讲到设计模式,一般情况下只举例,不做过多的介绍,因为这些介绍实在是太多了。我在这里举例子讲设计模式,一方面做为检验自己的学习成果,一方面希望能够起到抛砖引玉的功能,和大家共同探讨。

- 作者: BrandyCao_2005 2005年01月6日, 星期四 00:31  回复(1) |  引用(0) 加入博采

旧BLOG地址 : http://BingoCao.blogchina.com
旧BLOG地址 : http://BingoCao.blogchina.com, 欢迎访问。

- 作者: BrandyCao_2005 2005年01月5日, 星期三 22:15  回复(0) |  引用(0) 加入博采