解说设计模式

来源:互联网 发布:怎么用邮箱注册淘宝号 编辑:程序博客网 时间:2024/04/30 05:52

    最近两年,模式已经成为软件项目团体里最热门的话题之一。模式的概念里最最早由建筑大师Christopher Alexander提出,他说:“每个模式都描述了一个在我们的环境中不断出现的问题,然后描述了该问题的解决方案的核心。通过这种方式,你可以无数次地使用那些已有的解决方案,无需再重复相同工作。”

    模式的定义:模式是一种问题的解决思路,它已经适用于一个实践环境,并且可以适用于其他环境。

    这个定义比较抽象, 下面让我们用现实生活中的例子来说明什么是模式。比如,古人在遇到生存困难的时候,不断思考、实践、总结,最后得到了许多解决生活困难的方法。当后人遇到同样的问题时,也用同样的方法去解决,这些方法就可以称之为模式。
    用牛耕田,织网捕鱼,打井取水……,所有这些都是前人创下的生活模式,我们大家自觉不自觉地把它们应用于生活的方方面面。那么程序设计呢?有没有一些前人的设计思路可供我们直接取用?
    答案当然是肯定的,这就是设计模式!
    设计模式通常是对于某一类软件设计问题的可重用的解决方案,将设计模式引入软件设计和开发过程,其目的就在于要充分利用已有的软件开发经验。优秀的软件设计师都非常清楚,不是所有的问题都需要从头开始解决,他们更愿意复用以前曾经使用过的解决方案。每当找到一个好的解决方案,他们会一遍又一遍地使用,熟练地使用这些已有的方案,是使他们成为专家的部分原因。设计模式的最终目标就是帮助人们利用成功软件设计师的集体经验,来设计出更加优秀的软件。