Welcom to RO_wsy's blog

为啥要用设计模式

设计模式,自从被四人帮归纳总结出来之后产生了重大的影响,很多人成了设计模式的信徒,设计模式确实是好,但是好在哪里呢,总结起来大概有如下几点:

可以提供现成的抽象减少复杂度。可以说软件工程的首要问题,也是难题,就是要管理复杂度。那设计模式对管理复杂度有什么好处呢?设计模式是一种抽象,是对很多类似的逻辑的一种总结和抽象,模式本身规定了特有的协议,包括质量,特性,约束等等。所以在设计过程中说到模式的层次就可以被程序员理解,而不用把设计思路逐行的将给他们听。

设计模式把常见解决方案的细节予以制度化来减少出错。设计多数是个迭代的过程,几乎没有软件可以一次设计成功,以后不再改动,设计模式是多次设计问题的总结,可能一次设计暴露不出来的问题在这过程中会显现出来,并得到解决,是我们可以站在巨人的肩膀上,通过前人的智慧让自己少犯错误,或者犯错误时有章可循,而不是自己毫无经验的去解决。

设计模式通过提供多种设计方案带来启发性价值。如果熟悉设计模式,可以遇到问题时从中找出合适的模式,并加以对比,选出最合适的模式。从一组熟悉的设计方案中寻找肯定比自己创一套来的容易,而且对于读代码的人来说,自己熟悉的模式也比较容易理解。

设计模式通过把设计对话提升到更高的层次而简化交流。例如,设计者之间讨论时可以说这个应该用观察者模式,而不是把观察者模式背后的细节和逻辑都说一遍。这样也避免了时不时的纠结与实现细节而影响思考。

虽然模式很好用,但事物的两面性是不可避免的,要避免为了模式而模式,成了模式的奴隶。要知道,运用设计模式是为了是设计问题更简单,而不是拿问题去对模式生搬硬套。总之,不要为了模式而模式。

posted @ 2012-10-23 17:47  RO_wsy  阅读(132)  评论(0编辑  收藏  举报