![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
设计模式
野猿新一
这个作者很懒,什么都没留下…
展开
-
面向对象设计原则之接口隔离原则
接口隔离原则 Interface Segregation Principle,简称ISP内容:使用多个专门的接口比使用单个总接口好也就是说,一个类对另一个类的依赖应当是建立在最小的接口上的。原创 2022-09-17 22:56:56 · 186 阅读 · 0 评论 -
面向对象设计原则之依赖倒转原则
依赖倒转原则 Dependence Inversion Principle,简称为DIP依赖倒转原则的内容是:要依赖于抽象,不要依赖于具体实现原文为:Abstractions should not depend upon details.Details should depend upon abstractions.翻译为:抽象不应当依赖于细节,细节应当依赖于抽象另一种表述为:Program to an interface, not an implementation.(要面向接口编程,不要。原创 2022-09-17 15:33:35 · 295 阅读 · 0 评论 -
面向对象设计原则之里氏代换原则
假设有类型T1及其对象O1以及类型T2及其对象O2,在程序中T1定义的所有对象O1都替换成O2时,程序的行为不会发生任何变化,那么可以认为T2是T1的子类也就是说软件中使用的是基类的话,那么也适用于子类,且软件功能不会受影响比如一个方法接收的是一个父类,那么该方法必然可以接收该父类的任何子类。原创 2022-09-17 10:57:39 · 267 阅读 · 0 评论 -
面向对象设计原则之开闭原则
例如对于某一需求抽象出一个接口或者抽象类,这一接口或抽象类中定义的抽象方法,一旦定以后就不允许再修改,这对应的就是开闭原则的第二条——对修改关闭。开闭原则从另一个角度讲,就是所谓的“对可变性的封装原则”,找到一个系统的可变因素,将之封装起来。而对于这一定义好的接口可以有无穷无尽个不同的实现,这对应的就是开闭原则的第一条——对扩展开放。Open-Closed Principle,缩写为OOP,是面向对象设计的第一块基石。对于面向对象语言来说,不允许修改的是抽象层,而允许修改的是实现层。原创 2022-09-17 10:01:20 · 218 阅读 · 0 评论 -
Java双重检查懒汉式单例模式中volatile的作用
初始化对象放到了最后,这在单线程环境中是没问题的,但是在多线程环境中就有可能出现问题,拿到的对象可能是还未初始化的,使用对象的时候就会出现问题。所以为了防止指令重排导致的问题,在双重检查懒汉式单例模式中,实例对象必须用volatile关键字修饰。使用volatile关键字的作用是进制JVM在创建实例的时候进行指令重排。由于JVM进行指令重排,以上指令顺序可能发生变化,可能变成如下顺序。可以看到单例对象用关键字volatile声明,而且是必不可少的。JVM在执行new创建对象的时候会执行下面三条指令。...原创 2022-08-28 00:07:18 · 870 阅读 · 0 评论 -
Java设计模式-单例模式
单例模式(singleton)有一下三个要点为了保证单例类的实例只能由单例类自己创建,需要将单例类的构造方法设置成private私有,防止构造方法被其他类调用单例模式有饿汉式、懒汉式等实现方式,下面一一做介绍。...原创 2022-08-27 23:04:56 · 256 阅读 · 0 评论 -
Java设计模式-抽象工厂模式
在前面介绍的简单工厂模式和工厂方法模式中都是只有一个产品等级结构,也就是只定义了一个抽象的产品类,而抽象工厂模式最大的区别就是定义了多个产品等级结构,也就是定义了多个抽象产品类,而这些抽象产品类下又可以实现多个具体的产品类这样讲可能比较抽象,我们以具体的示例来讲解假设有IPhone(此IPhone非彼iPhone)和IComputer两个抽象接口,分别表示手机品类和电脑品类IPhone下两个具体的实现类XiaomiPhone和HuaweiPhone,表示小米手机和华为手机。原创 2022-08-25 15:26:28 · 674 阅读 · 0 评论 -
Java设计模式-工厂方法模式
简单工厂模式有个缺点就是需要负责所有产品的创建工作,且一旦有新的产品加入,就需要修改工厂类,而工厂方法模块可以克服这个缺点,支持开闭原则。工厂方法模式定义了一个生产产品对象的接口,把具体的创建对象的工作交给实现该接口的子类。最后实现不同的工厂,不同的工厂负责不同的产品的生产。Factory1负责Product1的生产。Factory2负责Product2的生产。先分别定义工厂和产品的接口。原创 2022-08-25 11:34:00 · 230 阅读 · 0 评论 -
Java设计模式-简单工厂模式
简单工厂模式(Simple Factory)又叫静态工厂方法模式(Static Factory Method)原创 2022-08-24 22:29:54 · 576 阅读 · 0 评论