自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(10)
  • 资源 (1)
  • 收藏
  • 关注

原创 对象结构型模式——装饰者模式(decorator)

定义: 动态的给对象添加一些额外的职责。就增加功能来说,装饰者模式提供了比继承更加有弹性的另一种方案。 概述: 装饰者模式可以透明的给对象增加功能,并实现功能的组合。被装饰的对象可以已经被装饰过多次,在Java中I/O是装饰者模式的典型代表之一。 实例(Kotlin语言) 被装饰者的抽象类:饮料类 abstract class Beverage { //给一个默认的饮料名 op

2017-10-27 10:42:43 269

原创 对象结构型模式——外观模式(Pacade Pattern)

定义: 提供一个用来访问子系统一群接口的接口,该接口让子系统更容易使用。 概述: 外观模式的目的不是定义一个具有新功能的接口,而是提供一个接口让客户端减少与子系统多个模块的交互,松散耦合,让子系统更加容易使用,但是你也可以不用该接口而直接访问子系统。 实例(Kotlin语言) 模块A的接口以及实现 //接口 interface AModuleApi { fun testA() } //

2017-10-26 15:06:02 380

原创 对象结构型模式——适配器模式(adapter)

定义: 将一个类的接口转换成客户希望的另一个类的接口,适配器模式使原本不兼容的类可以在一起工作。 概述: 主要功能是匹配转换,目的是复用已有的功能。适配器类里面也可以有自己的实现,并且适配器类是用对象的组合的方式来调用适配者中的实现。 实例(Kotlin语言) 以下是Duck接口(对应标准模式中的Target接口) interface Duck { fun quack() fu

2017-10-26 11:25:06 432

原创 对象行为型模式——命令模式(Command)

定义: 将请求封装为对象 概述 命令模式的关键就是把请求封装为命令对象,制定统一的执行操作接口,所有的操作包括存储、转发、记录等都围绕这个对象进行。标准的命令模式会有以下几个类: Command:命令的接口类,声明执行的方法 ConcreteCommand:具体的命令类,实现了Command,并持有接收者Receiver,调用接收者的相关方法来完成命令功能 Receiver:真正执行命令的

2017-10-25 15:24:36 349

原创 对象结构型模式——组合模式(Composite Pattern)

定义 组合模式将对象组合成整体-部分的层次结构,使得整体和部分的处理具有一致性。 概述 组合模式使用一个抽象类,使得叶节点和枝节点能够统一起来,用户可以不再区分就可以对枝和叶做统一处理。 component(抽象组件):为组合的对象声明接口,使用户可以统一的访问和管理组合对象,这里可以实现缺省功能。 leaf(叶节点):定义和实现叶节点的功能 composite(枝节点):定义和实现枝节点

2017-10-24 18:18:34 298

原创 对象行为型模式——迭代器模式(Iterator)

定义: 顺序访问聚合对象中的各个元素,又不暴露对象中的表示 概述 实例(java语言) 迭代接口 public interface Iterator { /** * First.移动到第一个对象位置 */ void first(); /** * Next.移动到下一个位置 */ void next(); /**

2017-10-23 16:46:59 253

原创 类行为型模式——模板方法(TemplateMethod)

定义: 模板方法模式定义了一个算法的步骤,并允许子类为一个或者多个步骤提供实现。 概述 本模式包含一个抽象类及多个实现类,一下分别介绍 抽象类AbstractClass 此类定义了算法的骨架,并确定了其执行顺序,一般是不允许改变的,其抽象方法需要子类去实现 具体类(ConcreteClass) 实现了抽象类的具体类,实现了算法骨架的某些方法。 不得不说的是其钩子操作,可以实现改变类行为

2017-10-20 18:32:11 327

原创 对象行为型模式——观察者模式(Observer Pattern)

定义: 观察者模式定义了对象之间的一对多的依赖关系,当一个主题(Subject)对象的状态发生改变时,他的依赖者(Observer)都会收到通知。 概述 此模式有四个比较重要的类,下面一一说明 主题类(Subject) 可以是抽象类也可以是接口,具体的主题要实现该类 具体主题类(WeatherData) 实现Subject的类 观察者接口类(Observer) 用于通知每个观察者更新

2017-10-20 15:50:34 316

原创 对象行为型模式——状态模式(StatePattern)

定义: 允许一个对象在其内部状态改变时改变其行为 概述 状态模式和策略模式很相似,要注意区分其区别,也有三个(至少三个)比较重要的类 状态类接口(State) 状态模式首先定义一个状态类接口(State),声明其所有的动作 具体状态类(SoldState、SoldOutState、NoQuarterState、HasQuarterState) 每一种状态类都实现State,每种状态对应实

2017-10-19 16:35:18 352

原创 对象行为型模式——策略模式(Strategy Pattern)

定义: 策略模式定义了算法族 ,分别封装起来,让它们之间可以相互替换。此模式让算法的变化独立于使用算法的客户。 概述 此模式又称政策模式(Policy pattern),有三个比较重要的类 抽象策略类(FlyBehavior/QuackBehavior) 抽象策略类可以有一个,也可以有多个,其声明了算法的方法,需要不同的具体算法实现它,它可以是抽象类也可以是接口 具体策略类(FlyNoWa

2017-10-18 17:09:41 370

HandlerDemo

HandlerDemo详细介绍了Handler的使用以及Handler导致内存泄漏的解决方案。

2018-04-14

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除