一、什么是设计模式?
设计模式是软件开发人员在软件开发过程中面临的一般问题的解决方案。这些解决方案是众多软件开发人员经过相当长的一段时间的试验和错误总结出来的,其目的是为了提高代码的可重用性、代码的可读性和代码的可靠性。
简单来说设计模式就是OPP(面向)编程中解决各种问题的一套方案。它不针对于任何语言,只要是面向对象的编程方式它都适用,如c++、java、python等都可以使用设计模式来解决开发中的问题。
二、设计模式的好处
开发中,程序员经常会遇到耦合性、内聚性、扩展性、复用性等问题的困扰,如果在开发中使用设计模式能够让程序具有更好的代码复用性、拓展性,并且使程序呈现出高内聚低耦合的特性。
设计模式的本质是面向对象设计原则的实际运用,是对类的封装性、继承性和多态性以及类的关联关系和组合关系的充分理解,“懂了设计模式,你就理解了面向对象的思想。”
三、设计模式分类
设计模式共分为三大类,23种,三大类概述如下。
创建型模式:主要是针对对象创建的时候怎么去设计,根据实际情况使用合适的方式去创建对象。主要包括单例模式、抽象工厂模式、原型模式、建造者模式、工厂模式,共5种。
结构型模式:主要是研究如何将类或者对象结合在一起形成更大的结构,针对程序的结果进行设计,让程序有更好的拓展性。主要包括适配器模式、桥接模式、装饰器模式、组合模式、外观模式、享元模式、代理模式,共7种。
行为型模式:主要是研究程序在运行时复杂的流程控制,即描述多个类或对象之间怎样相互协作共同完成单个对象都无法单独完成的任务,它是针对方法的设计,让方法设计和利用更加合理。主要包括模板方法模式、命令模式、访问者模式、迭代器模式、观察者模式、中介者模式、备忘录模式、解释器模式、状态模式、策略模式、责任链模式,共11种。