01 单例设计模式(Singleton Design Pattern)
在系统启动到停止,只存在一个这样的对象(实例),这个类就是一个单例类。
在系统启动到停止,只存在一个这样的对象(实例),这个类就是一个单例类。
在面向对象编程种,任何事物都是一个对象。一般在 Java 中会通过 new 关键字来创建对象实例。
建造者模式的主要目的是将一个复杂对象的构建过程与其表示相分离,从而可以创建具有不同表示形式的对象。
使用原型实例指定待创建对象的种类,并通过拷贝该原型来创建新的对象。Prototype 模式允许一个原型对象克隆(复制)出多个与其相同的对象,而无需知道任何如何创建的细节。
代理模式:由于某些原因需要给原始对象提供一个代理以控制对该对象的访问。这时,访问对象不适合或者不能直接引用目标对象,代理对象作为访问对象和目标对象之间的中介。
桥接模式:将抽象部分与它的实现部分分离,使得可以独立变化。又称为柄体(Handle and Body)模式或接口(Interface)模式。其涉及一个接口,它充当一个桥,使得具体类可以在不影响客户端代码的情况下改变。
装饰器模式主要对现有的类进行包装,在不改变原有类对象和定义的情况下,扩展对象的其他功能。是结构型设计模式。例如 Spring 框架中的各种 XXXWrapper 或者 XXXDecotator 类。
从名字就能看出来,为了适配不同的使用条件,做兼容用。
假设你必须在代码中使用某个复杂的库或框架中的众多对象。 正常情况下, 你需要负责所有对象的初始化工作、 管理其依赖关系并按正确的顺序执行方法等。
开闭原则的定义是:一个软件实体:类 or 模块 or 函数等应该对扩展开放,对修改关闭。简而言之就是不允许修改。
组合模式也称为树形、对象树、Object Tree、Composite 模式。将一组对象组织成树形结构,表示 “部分-整体” 的结构层次。
享元模式应用最广的就是池化技术。例如 String 常量池,数据库连接池等。
观察者模式定义对象间的一种一对多依赖关系,当一个对象状态发生改变时,相关依赖对象得到通知并自动更新,因此又叫做发布-订阅模式。
模板方法模式是一种行为设计模式。在父类中定义了一个算法的框架,允许子类在不修改结构的情况下重写算法的某些特定步骤。
策略模式是一种行为设计模式,使用时定义一系列算法,并将每种算法分别放入独立的类中,以使算法的对象能够相互替换。
迪米特法则,又称为最少知识原则。是指一个对象应该对其他对象有尽可能少的了解。这意味着一个类应该只与直接的朋友(即与其直接相关的对象)进行交互,而不应该与“陌生人”进行交互,从而降低类之间的耦合度,提高系统的可维护性和可复用性。