连载01:软件体系设计新方向:数学抽象、设计模式、系统架构与方案设计(简化版)(袁晓河著)

软件设计公理化

现在是一个知识过剩的时代,培养独立思考的能力远比盲目看书更重要。                                                                                ---来自网络名言

 

如今设计模式就像蝗虫一样铺天盖地,任何一位时下的“大牛”都会捣腾一大堆设计模式的调调,但“灾难深重”的我们,却天天把眉毛和胡子愁在一起。我常常被迷惑,被鼓动,但是却难于深入理解什么是设计模式。设计模式是什么?是抽象化的精粹,还是设计的哲学。也许是被糊弄久了,也许是在某天,也许是更长的时间里,当我苦苦思索的时候,我猛然发现,哈!为什么我不能走实证的道路,不去想那虚无缥缈的抽象意义,而是先从设计模式的模样开始分析,就像金庸老先生的《侠客行》中的石破天,别人都在忙活着分析诗句和注解,他由于不识字,就只能看图玩。看着、看着就入了道,最后功力大增,练就了一身的绝学。虽然我无法达到身怀绝学,但是从结构的角度分析设计模式,的确让人醍醐灌顶。所以也希望将我的经验与所有“有缘人”进行分享。

伤不起的设计模式

 

在过去那些汗牛充栋的设计模式书籍文章中,大多都喜欢从意图和动机开始入手,然后再告诉你,这里有一个挺牛的方法,这个方法就是xxx设计模式,然后再如清风拂面一般的教导大家,这个设计模式有什么好处,为什么牛的一塌糊涂,但是又要注意,不要玩火过度,“罂粟少量是药,多了就是×××”,然后可以兜售到好多好多地方,可谓是娓娓道来,滴水不漏。但是,还是但是,当我狂乱惊讶过后,我怎么也无法留下深刻的印象,而且还常常把这些所谓的“招式”名堂搞混,虽然有长辈谆谆教导下才能澄清的了“马和骡子”的区别,然而,不过依然被归于了“伪牛人”一列,谈谈设计模式可以,但是要实施就漏了马脚。

         后来想想原因,主要是GOF(四人帮)的那本葵花宝典式之《设计模式》太经典了,经典到连程序猿菜鸟都知道。此书可谓开天辟地,把不该告诉你的都告诉你了,都快20年了,还这样有嚼劲。当后面铺天盖地的设计模式运应而生以后,有设计模式也有反设计模式,有事实有依据,把设计模式推向高潮。

         在《设计模式》中,作者们通过大量的实践中的众多的经验进行统一总结、分析以及验证并形成了创建型、结构型、行为型等23个基本的设计模式,并在书中给出了意图、适用性以及实例等。后来在行业的不断发展下,总结出更多让人眼花缭乱的设计模式以及架构模式等。总之,这些手法皆属同一门派,采用的思维方式大抵是一致的。

         但是,我感觉这里的确缺少了很多东西,按照西方人的思维习惯,应该是实证更浓厚一些,是喜欢从分析入手的,任何理论都先要从公理开始,然后步步推导。但是设计模式从叫响到现在更接近东方人的思维方式,那就是从经验而来,从经验而来,先给出这个现象,然后再从我们的已有经验中去找寻答案,所谓设计没有好坏之分,只有美丑之分。所以,设计模式被称为不是发明,而是发现设计模式。这点甚好,因为我本东方人,这样的思维方式很容易就习惯了,多爽的事!但是,还是但是,这只是一只脚在走路。如果我们只能从需求和经验而来的“自上而下”的方式,一定需要一个“自下而上”的方式进行补充,这种方式就是我们需要暂时脱离这些模糊的经验,先拆开这些设计模式进行分析。苟且让我从我非擅长的“公理化”开始进行分拆,抛弃一切具体含义,从公理化的道路去看看,去尝试尝试。


猜你喜欢

转载自blog.51cto.com/13832308/2132381
今日推荐