
设计模式
情谊风月
溪云初起日沉阁,山雨欲来风满楼
展开
-
适配器模式
适配器模式(Adapter Pattern)的主要作用是在新接口和老接口之间进行适配,不改变原有接口,却还能使用新接口的功能。Java IO中的从字节流到字符流的转换就用了适配器模式实现。示例如下:/** * 英语口语规范 * * @author lslxy1021 */interface EnglishSpecification { void sayEnglish();...原创 2018-10-04 19:56:13 · 249 阅读 · 0 评论 -
Java 中的代理(proxy)
代理模式是一种经典的设计模式,代理的意义在于生成代理对象,在服务提供方和使用方之间充当一个媒介,控制真实对象的访问。代理分为静态代理和动态代理两种。静态代理需要通过手动或工具生成代理类并编译,代理类和委托类的关系在编译期就已经确定。动态代理允许开发人员在运行时动态的创建出代理类及其对象。Spring AOP的主要技术基础就是java的动态代理机制。静态代理静态代理的实现需要一个接口(表...原创 2018-10-04 17:05:47 · 14752 阅读 · 4 评论 -
装饰器模式 — Java IO
Java IO中含有众多的类,对于刚接触的人来说往往摸不清头脑。其实只要理清了它们之间的层次关系,就容易理解很多。Java IO中涉及到装饰器模式(Decorator Pattern)与适配器模式(Adapter Pattern)。先上一张Java IO(字节流)系谱图(图片来源网络)。可以看到,输入和输出基本是高度对称的。上图并没有包括所有的IO类,随着Java版本的变化,可能有新...原创 2018-10-03 17:13:46 · 1191 阅读 · 0 评论 -
观察者模式
观察者模式,又叫发布-订阅(Publish/Subscribe)模式,它定义了对象之间一对多的依赖关系,当一个对象状态改变时,其他相关联的对象就会得到通知并被自动更新。例如,现有一组数据,分别画出柱状图、饼状图、折线图,当数据发生变化时,图形也需要同时进行相应的变化。如图所示,监听的对象叫观察者(Observer),被监听的对象叫被观察者(Observable,也称主题Subject)。...原创 2018-10-14 00:10:17 · 243 阅读 · 0 评论