博客新增音乐播放器,点击打开捷径,切换或暂停音乐。
随笔分类 - 设计模式
摘要:Definition 将一个类的接口变换成客户端所期待的另一种接口,从而使原本因接口不匹配而无法在一起工作的两个雷能够在一起工作。 Roles Target目标角色:该角色定义把其他类转换为何种接口,也就是我们所期望的接口。 Adaptee源角色:想把谁转换为目标角色,这个谁就是源角色,它是已经存在
阅读全文
摘要:模板方法模式:定义一个操作中算法的框架,而将一些步骤延迟到子类中。模板方法模式使得子类可以不改变一个算法的结构即可重定义该算法的某些特定步骤。 在现实中,很多事情都有相同的实现步骤,例如请客吃饭,无论吃什么,一般都包含点单、递东西、买单等几个步骤,通常是:点单-吃东西-买单。这3个步骤中,点单和买单
阅读全文
摘要:使用场景 根据用户的需求处理数据时候需要对算法做出选择,固定的一些算法(一般不再发生变化的),扩展比如在商场促销的时候往往会根据客户不同的等级设置不同的折扣等。 level1:各种if-else 可以正常使用但是也有不足:不同客户使用的报价的算法都放在一个方法里面,使得方法很庞大(吐槽一下,公司之前
阅读全文
摘要:WHAT Proxy代理模式是一种结构设计模式,主要解决的问题是:直接访问对象时带来的问题,给某一个对象提供一个代理对象,并由代理对象控制对原对象的引用。。 其主要目的就是为其他对象提供一个代理以控制对某个对象的访问,代理类负责为委托类预处理消息,过滤消息并做转发,以及进行消息被委托类执行后的后续处
阅读全文
摘要:一、责任链模式的优点 责任链模式非常显著的优点是将请求和处理分开。请求者可以不用知道是谁处理的,处理者可以不用知道请求的全貌,两者解耦,提供系统的灵活性。 二、责任链模式的缺点 责任链有两个非常显著的缺点:一是性能问题,每个请求都是从链头遍历到链尾,特别是在链比较长的时候,性能是一个非常大的问题,。
阅读全文
摘要:前言 单例模式是一种常用的软件设计模式,在他的核心结构中只包含一个被称为 单例的特殊类。通过单例模式可以保证系统只有一个实例而且该实例易于外界访问,从而方便对实例个数的控制并节约系统资源。如果希望在系统中某个类的对象只能存在一个,单例模式是最好的解决方案。 Singletom类,定义一个GetIns
阅读全文
摘要:一、用通俗的语言解释其意义:从秦始皇之后确立了皇帝的位置,且同一时期只有一个。因此大家在称呼的时候不需要为皇帝加上其他的前缀。这一过程反应在设计领域就是,要求一个类只能生成一个对象,所有对象对他的依赖都是相同的,因为只有一个对象,所以对象对他的依赖都是相同的,因为只有一个对象,大家对他都很了解。皇帝
阅读全文