摘要: 设计模式--观察者模式 1、观察者模式 观察者模式:定义对象间一种一对多的依赖关系,当一个对象状态发生变化时,所有依赖于它的对象都得到通知,并被自动更新。 2、观察者模式的结构 角色 主题(Subject):主题是一个接口,该接口规定了具体主题需要实现的方法,比如添加,删除观察者以及通知观察者的方法 阅读全文
posted @ 2019-11-18 14:40 sinlearn 阅读(299) 评论(0) 推荐(0) 编辑
摘要: 设计模式--迭代器模式 1、迭代器模式 迭代器模式:又称为游标(cursor)模式,也就是抽象一个迭代器类来分离聚集的遍历行为,这样既可以做到不暴露聚集的内部结构,又可让外部代码透明地访问聚集内部的数据。 2、迭代器模式的结构 角色 抽象聚合角色:定义存储、添加、删除聚合对象以及创建迭代器对象的接口 阅读全文
posted @ 2019-11-18 13:27 sinlearn 阅读(170) 评论(0) 推荐(0) 编辑
摘要: 装饰器模式--装饰模式 1、装饰模式 装饰模式:动态的给对象添加一些额外的职责,例如,给相片加各种不同的相框(相框就是装饰器)。 2、装饰模式的结构 角色 抽象组件(Component): 抽象组件定义了需要进行装饰的方法,也就是“被装饰者”角色; 具体组件(ConcreteComponent): 阅读全文
posted @ 2019-11-18 13:17 sinlearn 阅读(443) 评论(0) 推荐(0) 编辑
摘要: 设计模式--策略模式 1、策略模式 策略模式:定义一些列算法,把它们一个个的封装起来,并且使它们可以相互替换,该模式可以使得算法独立于使用它的客户而变化。 2、策略模式的结构 角色 策略:策略是一个接口,该接口定义了若干算法,也即是若干的抽象方法; 上下文:上下文是依赖于策略接口的类,即上下文包含策 阅读全文
posted @ 2019-11-18 13:08 sinlearn 阅读(142) 评论(0) 推荐(0) 编辑
摘要: 设计模式--单例模式 1、单例模式 保证一个类仅有一个实例,并提供一个访问它的全局访问点 2、单例模式的结构 角色 单例类(Singleton):只可以创建出一个实例 类图: 3、单例模式举例Singleton.java package com.nick.pattern.singleton; /** 阅读全文
posted @ 2019-11-18 12:58 sinlearn 阅读(143) 评论(0) 推荐(0) 编辑