设计模式本身并不是仅仅局限于面向对象

 
 
 
设计模式本身并不是仅仅局限于面向对象,所以不要认为说到设计模式就一定是面向对象的。
 
设计模式 是在重构中产生模式
 
               
不要为了模式而模式
设计模式主要为可复用而产生
所以如果能在需求明确,并能预知不会产生新的变化时
则不一定要使用模式,怎么简单怎么来。
 
所谓可复用,就是要能拥抱变化,而且是拥抱一定的变化,如果变化太多频繁,太诡异,此时设计模式
已经不一定能够应对,而且反而会增加复杂度,在游戏行业比较常见,此时就需要使用其它的方法来应对了
比如 脚本语言,因魔兽世界而闻名的lua便是比较好的选择之一,此外还有python等,需要根据实际需要选择。
 
哪里变化,封哪里,so easy
 
 
每个模式都是针对相应变化点的提炼
 
学习模式,一定要理解它针对的变化点,也就是应用场景。
 
面向对象设计模式学习的进阶
 
1:都看起来迷糊,搞不懂什么意思。          -----对面向对象能力比较弱,不懂得 封装,继承,多态 真正的意图
2:看起来都差不多,不知道何时该用哪种模式,或者试图强行套用设计模式     ----没有理解设计模式所应对的变化点,面向对象能力有了一定提升。
3:能在某些变化点使用相应的模式,但比较局限。  ---- 开始掌握设计模式的诀窍,但缺乏实践经验。
4:熟练使用模式,组合模式来适应软件开发的变化点。  ----有了大量实践经验,并从中能够总结提炼,达到一定的架构能力。
 
 
所谓复用
 
即我们 在面对新的需求时能
1:直接适应,不需修改,
2:修改配置适应
3:修改少量局部代码
4:有牵连修改,比如类接口被修改,调用点也需要修改
5:大量修改,比如架构不再适应
 
 
修改越多,不光工作量越大,而且带来的测试量也越大,也就是可能引入的BUG几率越大
 
 





posted @ 2013-10-08 21:02  cinience  阅读(255)  评论(0)    收藏  举报