明天你会感谢今天奋力拼搏的你。ヾ(o◕∀◕)ノヾ
遥想当年满房间贴上这些彩图记设计模式的场景。 此23种设计模式彩图是从《设计模式之禅》的附录中扫描出来的。 在此留存,静待有缘人。 顺便指出一下图片中一个错误:迭代器模式应该是行为型模式而不是创建型模
前文,分析了JDK动态代理的源码,前文地址:点这里,今天就来写写怎么仿照JDK动态代理的思路,来手写一个高仿低配的动态代理。 一、简单梳理JDK动态代理 在此再重新理一理JDK动态代理是怎么实现的:
一、什么是适配器模式 将一个系统的接口转换成另外一种形式,从而使原来不能直接调用的接口变得可以调用。适配器是作为两个不兼容的接口之间的桥梁,属于结构型模式。 二、适配器模式角色划分 适配器模式涉及3个
在状态模式(State Pattern)中,类的行为是基于它的状态改变的。 状态模式属于行为模式。 状态模式和策略模式相似处都能解决多重if判断问题,不同点,策略模式解决同一个抽象行为,而状态模式解决
外观模式(Facade Pattern)隐藏系统的复杂性,并向客户端提供了一个客户端可以访问系统的接口。 外观模式属于结构型模式,又叫门面模式。 主要解决:降低访问复杂系统的内部子系统时的复杂度,简化
观察者模式(Observer Pattern)在对象之间定义了一对多的依赖,当一个对象改变状态,它会通知依赖的对象。 属于行为模式。JAVA里已经实现了观察者模式。 应用实例 Zookeeper事件通
为其他对象提供一种代理以控制对这个对象的访问。 一、何时使用 1、有时不能直接给对方访问时可以通过代理模式 2、代理类除了是客户类和委托类的中介之外,我们还可以通过给代理类增加额外的功能来扩展委托类的
装饰器模式(Decorator Pattern)在不改变原有功能基础上新增功能,属于结构型模式,是对现有类的一个包装。 就新增功能来说,用装饰器模式比直接生成子类更加灵活。 何时使用:在不想增加很多子
模板方法的核心就三个字:抽象类,通过抽象类定义一个操作中的算法骨架,共同的部分可以写在抽象类中,不同的部分定义成抽象方法,延迟到子类中完成。 模板方法使得子类可以不改变一个算法的结构,即可冲定义该算法
责任链模式(Chain of Responsibility Pattern),顾名思义包含了链表的作用。因此要理解责任链,觉得在于两点:1、生成链的节点。2、如何链。 责任链的相关介绍就不多费口舌,可