![](https://img-blog.csdnimg.cn/20201014180756724.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
设计模式
CoderHigh
这个作者很懒,什么都没留下…
展开
-
设计模式-单例
设计模式-单例一、单例介绍1.单例概念单例模式是一种对象创建模式,它用于产生一个对象的具体实例,它可以确保系统中一个类只产生一个实例 2.好处对应频繁使用的对象,可以省略创建对象所花费的时间,这对于那些重量级对象而言,是非常可观的一笔系统开销 由于new操作的次数减少,因而对系统内存的使用频率也会降低,这将减轻GC压力,缩短GC停顿时间 二、单例的六种写法和各自特点饿汉 public class...原创 2018-03-03 13:04:47 · 122 阅读 · 0 评论 -
设计模式-观察者
设计模式-观察者1.概念定义对象之间的一种对多依赖关系,使得每当一个对象状态发送改变时,其相关依赖对象皆得到通知并被自动更新 2.使用场景1)一个抽象模型有两个方面,其中一个方面依赖另一个方面 2)一个对象的改变将导致一个或多个其他对象也发送改变 3)需要在系统中创建一个触发链 3.UML结构图分析 4.代码实现 两种观察者比较:1)为什么不用List?2)是否有替代品 二、观察者模式在...原创 2018-03-03 13:17:46 · 155 阅读 · 0 评论 -
设计模式-模板方法
设计模式-模板方法一、模板方法模式详解1.概念模板方法是通过定义一个算法骨架,而将算法中的步骤延迟到子类,这样子类就可以复写这些步骤的实现来实现特定的算法 2.使用场景1)多个子类有公有的方法,并且逻辑基本相同时 2)重要、复杂的算法,可以把核心算法设计为模板方法 3)重构时,模板方法模式是一个经常使用的模式 3.UML结构图分析 4.实际代码分析 抽象模板/具体模板定义的数量和类型/模板...原创 2018-03-03 13:16:21 · 110 阅读 · 0 评论 -
设计模式-策略
设计模式-策略1.概念定义一系列的算法,把它们一个个封装起来,并且使他们可互相替换。本模式使得算法可独立于使用它的客户而变化。 2.使用场景一个类定义了多种行为,并且这些行为在这个类的方法中以多个条件语句的形式出现,那么可以使用策略模式避免在类中使用大量的条件语句。 3.UML结构图分析 4.代码分析 5.策略模式优点1)上下文(Context)具体策略(ConcreteStrategy)是...原创 2018-03-03 13:15:01 · 105 阅读 · 0 评论 -
设计模式-组合
设计模式-组合一、组合模式详解1.概念将对象以树形结构组织起来,以达成“部分-整体”的层次结构,客户端对单个对象和组合对象的使用具有一致性。 树的结构->组合设计模式 2.使用场景1)需要表示一个对象整体或部分层次2)让客户能够忽略不同对象层次的变化 3.UML结构图分析 4.代码 5.组合模式优点1)高层模块调用简单2)节点自由增加 二、组合模式在android中的实际运用...原创 2018-03-03 13:13:55 · 148 阅读 · 0 评论 -
设计模式-外观
设计模式-外观一、外观模式详解1.概念外观模式的主要目的在于让外部减少与子系统内部多个模块的交互,从而让外部能够更简单得使用子系统。它负责把客户端的请求转发给子系统内部的各个模块进行处理。 2.使用场景1)当你要为一个复杂子系统提供一个简单接口时。2)客户程序与抽象类的实现部分之间存在着很大的依赖性3)当你需要构建一个层次结构的子系统时 3.UML结构图分析 4.代码 5.外观模式优点1)由...原创 2018-03-03 13:12:35 · 106 阅读 · 0 评论 -
设计模式-装饰模式
设计模式-装饰模式一、装饰模式详解1.概念装饰模式(Decorator Pattern):动态地给一个对象增加一些额外的职责,就增加对象功能来说,装饰模式比生成子类实现更为灵活。装饰模式是一种对象结构型模式。 2.使用场景(1)在不影响其他对象的情况下,以动态、透明的方式给单个对象添加职责 (2)当不能采用继承的方式对系统进行扩展或者采用继承不利于系统扩展和维护时可以使用装饰模式 3.UML结构图...原创 2018-03-03 13:11:35 · 134 阅读 · 0 评论 -
设计模式-adapter
设计模式-adapter 一.adapter模式详解1.适配器模式定义将一个接口转换成客户希望的另一个接口,适配器模式使接口不兼容的那些类可以一起工作,其别名为包装器(Wrapper) 2.类适配器1)类适配器定义类的适配器模式把适配的类的API转换成目标类的API 2)UML结构图解释 3)code 4)总结类适配器使用对象继承的方式,是静态的定义方式 对于类适配器,适配器可以重定义Ada...原创 2018-03-03 13:10:29 · 213 阅读 · 0 评论 -
设计模式-builder
设计模式-builder一、java的builder模式详解1.概念建造者模式是较为复杂的创建型模式,它将客户端与包含多个组成部分(或部件)的复杂对象和创建过程分离 2.使用场景当构造一个对象需要很多参数的时候,并且参数的个数或者类型不固定的时候 3.UML结构体分析 4.实际代码分析 总结1.Builder:它为创建一个产品Product对象的各个部件指定抽象接口2.ConcreteB...原创 2018-03-03 13:08:14 · 151 阅读 · 0 评论 -
设计模式-责任链
设计模式-责任链一、责任链模式详解1.概念是一个请求有多个对象来处理,这些对象是一条链,但具体由哪个对象来处理,根据条件判断来确定,如果不能处理会传递给该链中的下一个对象,直到有对象处理它为止 2.使用场景1)有多个对象可以处理同一个请求,具体哪个对象处理该请求待运行时刻再确定2)在不明确指定接收者的情况下,向多个对象中的一个提交一个请求3)可动态指定一组对象处理请求,客户端可以动态创建职责链来处...原创 2018-03-03 13:19:45 · 113 阅读 · 0 评论