设计模式到底是什么东西?

看过的一本书上讲软件的设计模式其实就象建筑工程中的设计模式一样, 是经验的总结. 思来想去, 除了这一点, 两者的区别其实蛮大.

从研究对象来看, 建筑研究的是结构. 软件研究的是工作流. 结构是静态的, 工作流是动态的. 如果硬要说它们确实有相似之处的话, 软件中的确也有使用结构的地方.

今天突然想起这事, 是因为在研究高并发架构的时候, 无意中发现一个新名词: POSA2. 进一步研究发现原来是对很久以前就提出来的设计模式的升华 (从“设计”升华到了“架构”)。这么多年了,不容易啊!因为多年以前我对这个东西是极其反感的。原因是我从来不能接受任何在哲学上不能解释的东西。实际上,到现在为止,我仍然不能理解“模式”这个词的含义,不管中英文。这个其实应该归咎于语言本身的问题,即它本身是来源于生活的。我们知道,来自生活中的东西,很多都是不能解释的或者说很难解释的。但是,认知能力的存在与沟通的需求的同时存在使我们发明了词语(我坚持认为动物之所以没有语言或者说没有象人类这么精确的语言是因为他们的认知能力本来就不太强)。总之,从一开始,我会关注设计模式,也是因为前面两个字(“设计”)而不是后面两个字(“模式”)。最终因为没有办法从哲学上理解它而把书本扔掉了。这一次,开始重新关注它一方面因为“设计”两个字不见了,另一方面则是因为多出了两个字:“架构”。

这样一来,其实引出了一个问题。“模式”到底是“设计模式”还是“架构模式”呢?

我认为,设计与架构皆属于工作流的方法论领域。 一个是宏观上的方法,一个是微观上的方法。 从设计模式到架构模式的升华,其实就是在微观上被证实有效的方法论在宏观层次上的推广。而模式当然就是一种方法啦。当某一种方法被重复使用的时候,就被称为模式了。

这就是语言的魔法。一开始,你只是提了个问题,心中并没有答案。你冥思苦想,也想不出答案来。于是,你把它说了出来。于是,你听懂了!

人们习惯于被迫响应外部信号。这就是语言的魔法,它可以让你生,也可以让你死。除非你摆脱那种语境,你就很难摆脱语言的摆布。

而在人心的深处,因为没有被迫响应的压力,虽然纵向思维受到压制,但是横向思维得以进行。

转载于:https://my.oschina.net/digerl/blog/10786

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值