容易是王道《十一、模式和想象》

简单是王道《十一、模式和想象》

 

1995年,GoF推出了设计模式一书。业界公认这本书在面向对象编程/设计领域具有划时代的意义。那么,如果你读过了这本书,你是如何来认识它的划时代意义呢?你是如何来应用这本书引荐的设计思想呢?我的设计之路是从这本书开始的。6年的时间里,我阅读了很多遍,认识和收获也在不断的增加。从最初对模式进行记忆到现在对系统进行想象,越接近GoF的思想,就越觉得简单带来的快乐。

 

模式就像中国功夫中的套路:

 

形意拳的虎形八法中的虎扑把(模式名):对方如用右手直攻我胸部时(动机和适用性),我右手由其右腕外下方反手刁拿其右腕,同时左足向左外方垫半步左手拿住其右肘,双手捋抻,进右步,两手变掌用力扑其华盖穴(上胸),对方即仰跌(效果)。对方左手攻我中部时(动机和适用性),方法同前,唯手足动作相反(结构、参与者和协作)。 要点:垫步拿腕、肘动作要同时进行,进步扑上胸也要同时动作,而且要快《拳经》云:“心如火药拳如子,灵机一动鸟难飞”,“身似弓弦手似箭,弦响鸟落见神奇。”都说明动作要快的意思(实现)

 

从业余级别的乱殴到职业级别的比赛,意义就在这里。我总是非常惊叹那些大师对于规律性事物的想象和抽象能力。所以当作者屡次提到确定模式名是一个难点时,不难理解那种*别准确抽象的不易。讲到这里,又想到了术语的问题。术语的重要性很少被人提及,其实这是专业级别与非专业级别的一个重要分水岭。我会在以后的博客中聊聊。

 

 

套路是立足江湖的基础,但是僵硬地使用套路,只能成为斧头帮中的一员。高手要像令狐冲用独孤九剑,无招胜有招。从套路中学习的除了套路本身,还有更重要的想象技能。运用想象技能,你可以创建自己的模式。模式是解决相似问题的模板,当你有了大量的经验,解决过大量的问题,对于模式就会有新的认识。业界有反模式的说法,其实反的不是模式本身,反的是使用模式的僵化思想。

 

 

 

 

 

 

 

 

1 楼 airport 2009-03-02  
强。你连《拳经》都熟读,佩服佩服
2 楼 chenlixun 2010-05-07  
深有同感, 只有深入运用过设计模式且得到思想升华的人才能写出这样的感言.