里氏替换原则

一 点睛 里氏代换原则是面向对象设计的基本原则之一。 里氏代换原则:任何基类可以出现的地方,子类一定可以出现。通俗理解:子类可以扩展父类的功能,但不能改变父类原有的功能。换句话说,子类继承父类时,除添加新的方法完...

依赖倒转原则

一 点睛 高层模块不应该依赖低层模块,两者都应该依赖其抽象;抽象不应该依赖细节,细节应该依赖抽象。简单的说就是要求对抽象进行编程,不要对实现进行编程,这样就降低了客户与实现模块间的耦合。 二 需求 现要...

接口隔离原则

一 点睛 客户端不应该被迫依赖于它不使用的方法;一个类对另一个类的依赖应该建立在最小的接口上。 二 需求 安全门案例:我们需要创建一个黑马品牌的安全门,该安全门具有防火、防水、防盗的功能。可以将防火,防...

迪米特法则

一 点睛 迪米特法则又叫最少知识原则。 只和你的直接朋友交谈,不跟“陌生人”说话(Talk only to your immediate friends and not to strangers)。 其含义是:如...

合成复用原则

一 点睛 合成复用原则是指:尽量先使用组合或者聚合等关联关系来实现,其次才考虑使用继承关系来实现。 通常类的复用分为继承复用和合成复用两种。 继承复用虽然有简单和易实现的优点,但它也存在以下缺点: a 继承复用破...

单例模式的结构和实现

一 点睛 单例模式(Singleton Pattern)是 Java 中最简单的设计模式之一。这种类型的设计模式属于创建型模式,它提供了一种创建对象的最佳方式。 这种模式涉及到一个单一的类,该类负责创建自己的对象...

单例模式存在的问题以及解决方案

一 问题演示 1 破坏单例模式 除枚举方式外,其它单例类(Singleton)可以创建多个对象。有两种方式可以破坏单例模式,分别是序列化和反射。 1.1 序列化反序列化 Singleton类: p...

单例模式在JDK中的使用

一 点睛 Runtime类是使用的单例设计模式。 二 分析 通过源代码查看使用的是哪种单例模式 public class Runtime { private static...

简单工厂模式

一 需求 需求:设计一个咖啡店点餐系统。 设计一个咖啡类(Coffee),并定义其两个子类(美式咖啡【AmericanCoffee】和拿铁咖啡【LatteCoffee】);再设计一个咖啡店类(CoffeeStor...

工厂方法模式

一 点睛 工厂方法模式完全遵循开闭原则。 1 概念 定义一个用于创建对象的接口,让子类决定实例化哪个产品类对象。工厂方法使一个产品类的实例化延迟到其工厂的子类。 2 结构 工厂方法模式的主要角色:...