![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
设计模式
文章平均质量分 82
大叶子不小
这个作者很懒,什么都没留下…
展开
-
【设计模式】简单工厂、工厂方法与抽象工厂的区别
前言为什么会出现工厂,工厂方法与简单工厂还有抽象工厂到底有啥区别,什么时候能用到这些呢,如果你对于这些不是很清晰,那么你可以看看小编的这篇博客!这里所有的类图均用基本算法为例子,这样会有明显的对比!一、简单工厂模式1、我们在实例化对象的时候通常用的是New关键字,但是有了工厂,我们在声明对象的时候就可以用工厂了,用new导致代码不够灵活,用工厂来实例化对象很灵活!2、简单工厂类图3、部分代码(1)简单工厂类 public class OperationFact.原创 2021-02-07 14:49:40 · 245 阅读 · 0 评论 -
volatile对单例模式(双重校验锁)的一个优化细节
不知道大家有没有关注过一个细节,那就是在双重校验锁中的getInstance方法中,定义了一个局部变量来接收Singleton的单例对象。代码实现如下:publicclassSingleton{privatestaticvolatileSingletoninstance=null;privateSingleton(){}publicstaticSingletongetInstance(){Singleton...原创 2020-06-27 11:21:45 · 409 阅读 · 1 评论 -
【java】Observer和Observable详解
1.必要性1.1 观察者模式是oo设计中经常用到的模式之一,大家在解决实际需求时,观察者模式往往都会用到,而javase中已经提供了Observer接口和Observable类让你简单快速的实现观察者模式,因此有必要去了解Observer和Observable;2.观察者模式概述2.1 角色:被观察对象,观察者2.2 关系:1).被观察对象:观察者 = 1:n2).被观察对象状态发生变化,会通知所有观察者,观察者将做出相应的反应2.3 详细说明:参见【设计模式】观察者模式3.源码原创 2020-11-02 10:21:41 · 1480 阅读 · 2 评论 -
依赖倒转(倒置)原则(Dependence Inversion Principle)
依赖倒置本质就是利用了接口和抽象类,面向接口编程。之前系统看过,再回顾下。1、基本介绍高层模块不应该依赖低层模块,二者都应该依赖其抽象 抽象(接口/抽象类)不应该依赖细节(类),细节应该依赖抽象 依赖倒转(倒置)的中心思想是面向接口编程 依赖倒转原则是基于这样的设计理念:相对于细节的多变性,抽象的东西要稳定的多。以抽象为基础搭建的架构比以细节为基础的架构要稳定的多。在java中,抽象指的是接口或抽象类,细节就是具体的实现类。 使用接口或抽象类的目的是:制定好规范,而不涉及任何具体的.原创 2020-09-24 11:18:50 · 347 阅读 · 0 评论 -
设计模式六大原则
1.单一职责原则(SRP)让每个类专心处理自己的方法2.开闭原则(OCP)软件中的对象(类,模块,函数)应该对于拓展是开放的,但是对于修改是关闭的3.里氏替换原则(LSP)子类可以去拓展父类,但是不能改变父类原有的功能4.依赖倒置原则(DIP)应该通过调用接口或者抽象类(比较高层),而不是调用实现类5.接口隔离原则(ISP)把接口分成满足依赖关系的最小接口,实现类中不能有不需要的方法6.迪米特原则(LOD)高内聚,低耦合...原创 2020-07-22 15:14:12 · 102 阅读 · 0 评论