liuxiaoyi666

  博客园 :: 首页 :: 联系 :: 订阅 订阅 :: 管理
  11 Posts :: 0 Stories :: 22 Comments :: 0 Trackbacks

很多人用设计模式的时候都很困惑,我认识许许多多的程序员都跟我说,设计模式不错,就是不知道在哪用。而许多人在用的时候也是生搬硬套,如同金庸小说中,只重招式的人一样。

其实项目需求千奇百怪,剑招是不够用的,也不必生搬硬套,否则硬用也只能是伤到自身而不能破敌。

记得金庸小说里风清扬教令狐冲的时候,说过独孤九剑的总纲,无招胜有招,其实设计模式中也有这种总纲,那便是 •Identify the aspects of your application that vary and separate them from what stays the same.(找到系统中变化的部分,将变化的部分同其它稳定的部分隔开。)

有了总纲接下来的事变就好做了,分析一下总纲,找到系统中变化的部分。这句话的含义是什么?我们怎么才能找到

“系统中变化的部分”?我想这个是总纲中深层的含义,其实这是在提示我们从需求中分析,发现需求方可能会改动

的地方,而在此基础上做的事情,通常我会认为我们要与需求人员达成一致的目的,而基于这个目的是有不同的变化

的,而另一半话 将变化的部分同其它稳定的部分隔开,又有这样的疑问了,如何寻找稳定的部分呢?其实不说大家

应该也能猜到 稳定的部分一样也是从需求目的中寻找。

貌似这样显得有点虚,来点儿实际的项目例子好了

在一个项目中,我遇到的问题是有一个搜索框类似于google,输入后需要有联想提示,并且要有一个层与之关联显

示不同的数据。这么一项目,变化点在于,显示不同数据的层,和联想提示的显示是可能变化的,而稳定的点是联想

提示本身与显示数据的层是分开的,而且都需要关联文本框的变化。这么经过分析这些变化与不变的点后,发现很适

合观察者模式,提示数据类和显示数据层类都需要观察文本框有没有变化,而有变化时就触发变化事件,而引起两个

类去做触发后的事情。

变化与不变是我们需要分析的最重要的部分,这个便是设计模式中独孤九剑的总纲。当然熟悉金庸书的人也知道要有破剑式,破掌式等等,等有时间了我再把这个类别也写出来。

posted on 2008-06-25 14:29 csdn兔 阅读(1595) 评论(6)  编辑 收藏

Feedback

#1楼  2008-06-25 14:44 哦,奇怪      
为什么要用我的方式来看设计模式呢:)

独孤九剑
  回复  引用  查看    

#2楼  2008-06-25 14:57 菌哥      
熟读唐诗三百首,不会做诗也会吟
熟读模式二十三,不会模式也会模

  回复  引用  查看    

#3楼  2008-06-25 15:14 匿名 [未注册用户]
LS,错了......
不会做诗也会吟..........
  回复  引用    

#4楼  2008-06-25 16:00 软件打工者      
软件高手境界:以无招胜有招,草木皆可为剑。
  回复  引用  查看    

#5楼  2008-06-25 21:33 水言木      
学习了...
  回复  引用  查看    

一个设计模式的问题。*
  回复  引用    


标题  
姓名  
主页
Email (博主才能看到) 
验证码 *  看不清,换一张 [登录][注册]
内容(请不要发表任何与政治相关的内容)  
  登录  使用高级评论  新用户注册  返回页首  恢复上次提交      
该文被作者在 2008-06-25 14:33 编辑过


相关链接: