设计模式讲解第一章----为什么要使用设计模式

为什么要使用设计模式


设计模式(Design pattern)是一套被反复使用、多数人知晓的、经过分类编目的、代码设计经验的总结

作为程序员,我们所遇见的大部分问题其实都已被其他程序员一再处理了。设计模式意味着智慧。一个模式一旦成为通用的模式,就能丰富我们的语言,使我们可轻松地分享设计思想及这些思想所带来的成果。设计模式提取了共同问题,定义经过测试的解决方案并描述了可能的结果。

一、有效的复用、增加可维护性

复用是面向对象的要素之一,所以模式效果包括它对系统的灵活性,扩充性或可移植性的影响。如果你在一个系统中,遇见了一个问题可以被设计模式之一解决,那么下次你同样的问题,在不同系统中,甚至不同语言也是能够解决的该问题。

不要和陌生人说话,即一个对象应对其他对象有尽可能少的了解(高内聚,低耦合)。每个模块应尽可能的完成自己的功能,不依赖外部的代码。模块与模块的偶尔度低了,不会导致牵一发而动全身,增加了软件的可维护性。


二、每种设计模式对应的一种问题

通过定义同样的问题(共特性问题),设计模式能帮助你改进设计,让设计更轻松的获得成果。

有时候找到解决方案的第一步,就是知道问题到底是什么,再去想如何解决这个问题。


三、每种设计模式就是一种问题的解决方案

在你知道你的问题到底是什么的时候,模式给你提供了一种解决方案及应用该方案获得的结果的分析。当然设计模式的选择需要你自己对问题的考虑决策。但至少设计模式是一个可靠并且经过才长久测试的技术。


四、设计模式是与语言无关

这里我们就要讲到设计模式的历史。
20世纪70年代,Christopher Alexandery(克里斯托弗·亚历山大),作为一名建筑师(T.T,现在的IT经典的理论竟然是一个建筑学家首先由其他内容想到),研究了为解决同一个问题而设计不同建筑结构,发现了那些高质量的设计的相似性。用“模式语言”来代指这种相似性。

然后设计模式的鼻祖Kent Beck(肯特·贝克) 和(沃德·坎宁安) 受Alexander作品的影响(T.T 两个软件设计大牛,竟然…),把建筑学上的模式观点应用于软件设计和开发上。他们利用Alexander的一些观点开发了一系列模式。

由上面的历史,我们就能够得出。设计模式是与语言无关的,这也意味着,设计模式可被直接运用于多种编程语言中。设计模式是为了解决共同的问题。


五、设计模式是有效的

设计模式是程序员经历过成千上百次有效的使用,得出来的。例如:在面向对象中,单例模式可以有效的解决一个类的重复实例化问题。对于系统中的某些类来说,只有一个实例很重要。例如:一个系统中可以存在多个打印任务,但是只能有一个正在工作的任务;
这些都是经过长久测试,证明模式有效的可以避免系统开发的缺陷。


结尾

设计模式并非像组建一样合并起来解决固定方案,他是解决一般性问题的通用方法,解决方法体现了一些关键的设计原则

下一章节,会写到设计模式的原则

下章,再见!

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值