首页 > 技术文章 > 设计模式简介

binbingg 2020-10-21 12:27 原文

设计模式起源

设计模式起源于建筑模式,模式是在特定环境下解决某类重复出现问题的一套成功或有效的解决方案。

每个模式要在特定的环境下才有效,学习模式,除了了解模式实现本身,还得了解这个模式在什么环境下才能使用。

什么是设计模式

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

  • 使用设计模式是为了可重用代码、让代码更容易被他人理解、保证代码可扩展性和可维护性

  • 通用设计模式有 23 个,每一个设计模式都是某一类典型问题的解决方案

设计模式的本质

设计模式对于初学者有一定难度,一方面是设计模式是来源于设计经验的总结,需要学习者要有一定的项目经验,遇到过相应的设计模式的典型问题,才能更好体会设计模式的解决方案的优势;另一方面是设计模式需要学习者对面向对象编程思想和技术有一定深度的理解和认识。

设计模式的本质是面向对象编程思想和技术的熟练和灵活运用,要想真正理解设计模式就需要透彻理解面向对象设计原则和面向对象三大特性(封装、继承、多态)。简单说,没有读过《Java 编程思想》这本书,不建议直接学设计模式。

23 种设计模式分类

学习设计模式的误区

设计模式不能滥用,不要以为在任何一个系统中都要使用设计模式,系统也不是套用设计模式越多越好。滥用设计模式将增加系统复杂度,降低系统的可维护性。设计模式需要在特定环境、特定问题、灵活运用。

如何正确学习设计模式

任何一个设计模式都有以下五要素,其中最重要的是问题,需要明白不同的设计模式解决的是哪一类典型问题,自己在实际开发中是否遇到过同类问题。
这就好比医生治病最重要的是诊断,只要诊断正确,解决问题就变得很简单了。而医生诊断病情是需要工作经验的积累,同样要用好设计模式也需要实际项目经验的积累。

推荐阅读