设计模式梳理

设计模式概述

        设计模式(Design pattern)是一套被反复使用、多数人知晓的、经过分类编目的、代码设计经验的总结。使用设计模式是为了可重用代码、让代码更容易被他人理解、保证代码可靠性。

分类

        设计模式分为三大类,23种,他们分别是:

        创建型模式,共五种:工厂方法模式、抽象工厂模式、单例模式、建造者模式、原型模式。

        结构型模式,共七种:适配器模式、装饰器模式、代理模式、外观模式、桥接模式、组合模式、享元模式。

        行为型模式,共十一种:策略模式、模板方法模式、观察者模式、迭代子模式、责任链模式、命令模式、备忘录模式、状态模式、访问者模式、中介者模式、解释器模式。

        下面,我将重点梳理一下我们常见的一些设计模式。

常见设计模式

    工厂方法模式

        定义一个创建对象的接口,让其子类自己决定实例化哪一个工厂类,工厂模式使其创建过程延迟到子类进行。如在更换数据库的时候,可以通过不同的工厂类实现不同的数据库的调用,只要在最后调用工厂实现时修改即可。

    抽象工厂模式

        提供一个创建一系列相关或相互依赖对象的接口,而无需指定它们具体的类。它是由一个超级工厂创建管理多个小的工厂,再由小的工厂管理具体实现。

    装饰者模式

        装饰者模式允许向一个现有的对象添加新的功能,同时又不改变其结构。装饰类继承实现类的父类接口并进行功能添加。

    单例模式

        保证一个类仅有一个实例,并提供一个访问它的全局访问点。

单例模式

        单例模式特点:单例类只能有一个实例;单例类必须自己创建自己的唯一实例;单例类必须给所有其他对象提供这一实例。由于单例模式在内存里只有一个实例,减少了内存的开销,尤其是频繁的创建和销毁实例;避免对资源的多重占用(比如写文件操作)。

        常见的单例模式实现有懒汉式和饿汉式。

懒汉式
饿汉式

        饿汉式在创建Singleton类的时候就完成了实例的创建,懒汉式只有在获取实例的时候才回去创建。

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。