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