随笔分类 - 设计模式
摘要:Proxy代理模式是一种结构型设计模式,主要解决的问题是:在直接访问对象时带来的问题 代理是一种常用的设计模式,其目的就是为其他对象提供一个代理以控制对某个对象的访问。代理类负责为委托类预处理消息,过滤消息并转发消息,以及进行消息被委托类执行后的后续处理。 为了保持行为的一致性,代理类和委托类通常会
阅读全文
摘要:一 定义 命令模式也属于行为型设计模式之一。 定义:将一个请求封装成一个对象,从而让用户使用不同的请求把客户端参数化;对请求排队或者记录请求日志,以及支持可撤销的操作。 所以,命令模式的本质是,封装请求。 二 模式结构 角色介绍 Receiver:接收者角色。 该类是命令的具体执行者,负责具体实施或
阅读全文
摘要:一、概述 装饰器模式动态地将责任附加到对象上。想要扩展功能,装饰者提供了有别于继承的另一种选择。简单描述就是包装对象,让对象提供新的行为。 二、解决问题 当一个类想要获得一个行为,我们会想到面向对象四大特性之一的继承,继承能够让子类从父类中获得行为,实现很好的代码复用。但这种继承而来的行为是在编译时
阅读全文
摘要:目录 前言 是戴套还是结扎? 方案一:调用方处理 方案二:内部处理 第一次优化:同步锁 第二次优化:双重检查加锁 第三次优化:饿汉式单例 回到顶部 前言 单例模式,这个最简单的设计模式,有无数开发者在网络上写过样本,我相信只要混过的,都能闭着眼睛把单例写出来,并不稀奇。 但是很多人写单例,都是背着写
阅读全文