Java进阶篇设计模式之十四总结篇,有哪些疑问?

摘要:前言 本篇是讲述之前学习设计模式的一个总结篇,其目的是为了对这些设计模式的进行一个提炼总结,能够通过查看看此篇就可以理解一些设计模式的核心思想。 设计模式简介 什么是设计模式 设计模式是一套被反复使用的、多数人知晓的、经过分类编目的、代码设
前言 本篇是讲述之前学习设计模式的一个总结篇,其目的是为了对这些设计模式的进行一个提炼总结,能够通过查看看此篇就可以理解一些设计模式的核心思想。 设计模式简介 什么是设计模式 设计模式是一套被反复使用的、多数人知晓的、经过分类编目的、代码设计经验的总结。 为什么使用设计模式 使用设计模式是为了重用代码、让代码更容易被他人理解、保证代码可靠性。 设计模式类型 设计模式有23种类型。按照主要分类可以分为三大类: 一、创建型模式 这些设计模式提供了一种在创建对象的同时隐藏创建逻辑的方式,而不是使用 new运算符直接实例化对象。这使得程序在判断针对某个给定实例需要创建哪些对象时更加灵活。 单例模式 工厂模式 抽象工厂模式 建造者模式 原型模式 二、结构型模式 这些设计模式关注类和对象的组合。继承的概念被用来组合接口和定义组合对象获得新功能的方式。 适配器模式 桥接模式 过滤器模式 组合模式 装饰器模式 外观模式 享元模式 代理模式 三、行为型模式 这些设计模式特别关注对象之间的通信。 责任链模式 命令模式 解释器模式 迭代器模式 中介者模式 备忘录模式 观察者模式 状态模式 空对象模式 策略模式 模板模式 访问者模式 设计模式的原则 设计模式的六大原则 开闭原则:对扩展开放,对修改关闭。 里氏代换原则:对开闭原则的补充。任何基类可以出现的地方,子类一定可以出现。LSP 是继承复用的基石,只有当派生类可以替换掉基类,且软件单位的功能不受到影响时,基类才能真正被复用,而派生类也能够在基类的基础上增加新的行为。 依赖倒转原则:针对接口编程,依赖于抽象而不依赖于具体。 接口隔离原则:尽量使用多个隔离的接口,为了降低类之间的耦合度。 迪米特法则:一个实体应当尽量少地与其他实体之间发生相互作用,使得系统功能模块相对独立。 合成复用原则:尽量使用合成/聚合的方式,而不是使用继承。 设计模式之间的关系图: 设计模式总概况: 设计模式相关文章: 单例模式 工厂方法和抽象工厂模式 建造者模式和原型模式 适配器模式和桥接模式 外观模式和装饰器模式 组合模式和过滤器模式 享元模式和代理模式 责任链模式和命令模式 解释器模式和迭代器模式 访问者模式和中介者模式 策略模式和模板方法模式 观察者模式和空对象模式 创建型模式 单例模式 单例模式介绍 核心就是保证一个系统中的某个类只有一个实例而且该实例易于外界访问。 单例模式的使用场景 在程序中比较常用的是数据库连接池、线程池、日志对象等等。 单例模式使用 单例模式的写法主要有5种,分别是: 饿汉式: 简单安全, 效率低; 饱汉式: 简单不安全, 效率高 ; 静态内部类: 安全, 效率高; 双重锁检查: 复杂安全, 效率高; 枚举单例:简单安全, 效率高; 单例模式示例图 单例模式总结 构造方法私有化(private); 定义一个私有(private)静态(static)实例化对象; 对外提供一个公共(public)静态(static)的方法得到该实例; 工厂模式 工厂模式主要有三种,简单工厂模式、工厂方法模式和抽象工厂模式。但是一般的情况下我们主要用到的是工厂方法模式和抽象工厂模式。 工厂方法模式介绍 其核心是定义一个创建对象的接口,让其子类自己决定实例化哪一个工厂类,工厂模式使其创建过程延迟到子类进行。 工厂方法模式使用场景 比如生活中的汽车制造,大名鼎鼎的hibernate框架在选择数据库方言这块。 工厂方法模式示例图 抽象工厂模式介绍 主要核心是提供一个创建一系列相关或相互依赖对象的接口,而无需指定它们具体的类。 抽象工厂模式使用场景 比如生活中的服装制造厂,可以单独制造衣服、裤子、袜子等等,也可以生产一套服装。 抽象工厂模式示例图 建造者模式 建造者模式介绍 使用多个简单的对象一步一步构建成一个复杂的对象。这种类型的设计模式属于创建型模式,它提供了一种创建对象的最佳方式。 简单的来说就是将一个复杂的东西抽离出来,对外提供一个简单的调用,可以在同样的构建过程创建不同的表示。和工厂模式很相似,不过相比而言更加注重组件的装配。 建造者模式使用场景 适用一些基本组件不便,但是组合经常变化的时候。比如超市促销的大礼包。 建造者模式角色 Builder:指定一个抽象的接口,规定该产品所需实现部件的创建,并不涉及具体的对象部件的创建。 ConcreteBuilder:需实现Builder接口,并且针对不同的逻辑,进行不同方法的创建,最终提供该产品的实例。 Director:用来创建复杂对象的部分,对该部分进行完整的创建或者按照一定的规则进行创建。
阅读全文