什么是设计模式
模式:在某些场景下,针对某类问题的某种通用的解决方案。
设计模式(Design Pattern)是前辈们对代码开发经验的总结,是解决特定问题的一系列套路。它不是语法规定,而是一套用来提高代码可复用性、可维护性、可读性、稳健性以及安全性的解决方案。
学习设计模式的建议:
对于初学者以及职场新人来说,首先专注于当前项目,读懂代码,知道接口、抽象、继承、复合、多态等是怎么运行的,闲下来再看看数据结构、算法之类的书,最后再看设计模式,因为若是没有一定代码量的积累,就算看懂了设计模式也不懂如何应用到具体的项目和代码中。
若是有一定代码量的积累,接触了设计模式,在工作中也不要为了用技术而用技术,应以解决问题为驱动。
设计模式的六大原则:
开闭原则、单一职责原则、迪米特法则、里氏替换原则、依赖倒置原则、接口隔离原则
设计模式原则详细描述请见:JAVA设计模式总结之六大设计原则 - pony1223 - 博客园
设计模式的三大类:
创建型模式(5种):工厂方法模式、抽象工厂模式、单例模式、建造者模式、原型模式。
结构型模式(7种):适配器模式、装饰器模式、代理模式、外观模式、桥接模式、组合模式、享元模式。
行为型模式(11种):策略模式、模板方法模式、观察者模式、迭代子模式、责任链模式、命令模式、备忘录模式、状态模式、访问者模式、中介者模式、解释器模式。
其实还有两类:并发型模式和线程池模式。用一个图片来整体描述一下: