首页
博客
源码
资源
博客
源码
写文章
发布博客
发布资源
登录
X
设计模式
相关资讯
热门
最新
后端
01-01 08:00
后端
设计模式——单例模式
设计模式——单例模式,设计模式——单例模式单例模式,顾名思义就是一个类只能有一个实例。单例模式根据实例的创建的时间大致可以分为两类——饿汉式单例和懒汉式单例。饿汉式单例饿汉式单例,是指在类初始化的时候就创建实例,这样做有一个好处,就是保证在获取实例的时候可以保证线程安全而且还简单,即多个线程获取到的都是同一个实例。但这样做也有一个缺点,就是即使不用实例,实例也会创建,这样就会造成内存浪费。饿汉式单
77
后端
01-01 08:00
后端
设计模式——创建型(5种)
设计模式——创建型(5种),抽(抽象工厂方法模式)工(工厂方法模式)单(单例模式)建(建造者模式)原(原型模式)抽象工厂方法模式提供一个创建一系列相关或相互依赖对象的接口,而无须指定它们的具体类。例子:不同厂家生产不同的电脑abstractclassComputer{abstractvalname:String}classDell:Computer(){overridevalname="Dell"
68
后端
01-01 08:00
后端
设计模式【加锁懒汉单例】,并发我很自信
设计模式【加锁懒汉单例】,并发我很自信,前言入门开发其实是很简单的,尤其对于中高级开发来说学习掌握一门语言只是语法的事情。因为他们掌握了语法之后就可以借助通用的设计模式思想来结构化自己的代码。今天我们开辟一个新章节就是设计模式。设计模式是不针对具体某种语言他是代码层面的设计。测试publicstaticvoidmain(String[]args){System.out.println("获取第一个
98
后端
01-01 08:00
后端
设计模式【synchronize+volatile双重检查机制的懒汉式单例】
设计模式【synchronize+volatile双重检查机制的懒汉式单例】,前言上文提到了两种懒汉式单例加载问题,针对多线程我提出了一种加锁的方式避免重复实例化。本来以为就解决了问题。虽然测试中我没有发现问题,但是请教了一个老前辈他给我指出了其中的不足。问题分析加锁就是让获取对象时能够线性执行。但是因为我们锁是加载if上的。当A线程获取锁成功时,并且完成了对象的创建后,B线程中对象并没有及时的得
70
后端
01-01 08:00
后端
设计模式
设计模式,简单介绍原则单一职责原则复制代码最少知识原则复制代码开放-封闭原则复制代码接口和面向接口编程复制代码代码重构复制代码设计模式单例模式定义:保证一个类仅有一个实例,并提供一个访问它的全局访问点应用:线程池、全局缓存、浏览器中的window、弹框...实现:用一个变量标识是否已经创建过对象,如果是,则在下一次获取该实例时,直接返回之前创建的对象优点:节约资源,保持访问一致性,减小垃圾回收机制
73
后端
01-01 08:00
后端
设计模式如何提升 vivo 营销自动化业务扩展性 | 引擎篇01
设计模式如何提升 vivo 营销自动化业务扩展性 | 引擎篇01,在《vivo营销自动化技术解密|开篇》中,我们从整体上介绍了vivo营销自动化平台的业务架构、核心业务模块功能、系统架构和几大核心技术设计。本次带来的是系列文章的第2篇,本文详细解析设计模式和相关应用如何帮助营销自动化业务提升系统扩展性,以及实践过程中的思考和总结。一、引言营销业务本身极具复杂多变性,特别是伴随着数字化营销蓬勃发展的
76
后端
01-01 08:00
后端
设计模式-工厂方法模式
设计模式-工厂方法模式,工厂方法模式(FactoryMethod)又称为多态性工厂模式,其核心不再像简单工厂模式那样负责所有的子类的创建,而是将具体的创建工作交给子类去完成在前文已经介绍简单工厂模式时,写了如下代码:/***type:角色类型-管理员、员工*name:对应角色的名字*/constFactory=(type,name)=>{switch(type){case"admin"://创建管
93
后端
01-01 08:00
后端
设计模式-单例模式以及应用场景
设计模式-单例模式以及应用场景,单例模式在前端开发过程中非常常见,通俗来说就是某个类只能有一个实例,只能实例化一次,之后所有实例化的操作都是返回之前已经实例化的实例UML:实现单例利用es6实现单例模式:classSingleton{constructor(){if(!Singleton.instance){Singleton.instance=this;}returnSingleton.inst
120
后端
01-01 08:00
后端
设计模式-适配器模式
设计模式-适配器模式,适配器模式又称为包装器模式,将一个类的接口转化为用户需要的另外一个接口,主要是为了解决对象之间接口不兼容的问题,比如随着业务迭代升级出现了旧的接口与心的接口不兼容,这个时候不可能强制使用旧接口的用户去升级,而是在中间加一个适配器进行转换,让旧接口的使用者无感使用,保证了稳定性,在日常生活中适配器的案例随处可见,比如耳机插口不统一、充电接口不统一等,这个时候就需要一个适配器来解
85
后端
01-01 08:00
后端
设计模式-工厂模式
设计模式-工厂模式,现在需要开发一个系统,里面存在不同的角色,最常见的就是管理员、员工的角色,然后需要根据不同的角色分发不同的权限拿到需求之后立马撸代码:classPerson{constructor(name,permission){this.name=name;this.permission=permission;}}/***管理员*/classAdminextendsPerson{const
71
«
1
2
3
4
5
6
7
»