设计模式
子知识库
文章
拦截器模式
https://blog.csdn.net/qq_26899109/article/details/113838471 拦截器模式应用非常广泛,适用场景一般在框架代码中的固定业务逻辑,这部分逻辑通常不会变化,比如:服务调用的拦截处理,拦截服务的参数,参数国际化处理,拦截服务的异常,记录服务的调用结果等等。 之所以要讲这个,是因为后面讲SpringAOP的时候会参考到! 拦截器模式有三个重要的元素:调度器,拦截器,业务逻辑,只要充分理解这三个元素,拦截器模式就很简单了。 调度器一个业务逻辑可以有N个拦截器,这些拦截器是怎么运行的,自然是需要有一个调度器从中调度。 拦截器拦截器就只是负责拦截业务代码,在业务代码前后做一些操作,至于拦截器和业务代码的关系,拦截器不会直接调用业务代码,因为会耦合,拦截器在处理完自己的逻辑,会通知调度器,由调度器负责后续的操作,是继续拦截,还是调用业务逻辑。 业务逻辑业务代码这一块没啥好说的。 一个非常优秀的实例通过调度器实现了拦截器和业务逻辑的解耦。拦截器只需要负责注册到调度器,业务逻辑也只需要注册到调度器中。调度器会执行拦截器。通过地柜...
面试总结
创建型单例模式:某个类只能有一个实例,提供一个全局的访问点。 简单工厂:一个工厂类根据传入的参量决定创建出那一种产品类的实例。 工厂方法:定义一个创建对象的接口,让子类决定实例化那个类。 抽象工厂:创建相关或依赖对象的家族,而无需明确指定具体类。 生成器模式:封装一个复杂对象的构建过程,并可以按步骤构造。 原型模式:通过复制现有的实例来创建新的实例。 结构型 这几个都很相似,实现方法基本一致。但是功能略微有区别,应用场景不太一样。 适配器模式:将一个类的方法接口转换成客户希望的另外一个接口。 为了适应某些接口。依赖当前对象,生成新的接口。 桥接模式:将抽象部分和它的实现部分分离,使它们都可以独立的变化。 与策略模式完全一致。接口与实现分离。 组合模式:将对象组合成树形结构以表示“”部分-整体“”的层次结构。 树节点的典型表示。但每个节点可以有自己不同的属性,可以是不同的子类。 装饰模式:动态的给对象添加新的功能。 动态添加功能。原来的接口不变。Python中的derector。想在工程中使用这个功能的。但是通过桥接模式、适配器模式两层结构也解决了问题。在服务提供端...
A 设计模式概述-创建型
创建型 1. 单例(Singleton) Intent Class Diagram Implementation Ⅰ 懒汉式-线程不安全 Ⅱ 饿汉式-线程安全 Ⅲ 懒汉式-线程安全 Ⅳ 双重校验锁-线程安全 Ⅴ 静态内部类实现 Ⅵ 枚举实现 Examples JDK 2. 简单工厂(Simple Factory) Intent Class Diagram Implementation 3. 工厂方法(Factory Method) Intent Class Diagram Implementation JDK 4. 抽象工厂(Abstract Factory) Intent Class Diagram Implementation JDK 5. 生成器(Builder) Intent Class Diagram Implementation JDK 6. 原型模式(Prototype) Intent Class Diagram Implementation JDK 设计模式是解决问题的方案,学习现有的设计模式可以做到经验复用。拥有设计模...
B 设计模式概述-结构型
二、结构型 1. 适配器(Adapter) Intent Class Diagram Implementation JDK 2. 桥接(Bridge) Intent Class Diagram Implementation JDK 3. 组合(Composite) Intent Class Diagram Implementation JDK 4. 装饰(Decorator) Intent Class Diagram Implementation 设计原则 JDK 5. 外观(Facade) Intent Class Diagram Implementation 设计原则 6. 享元(Flyweight) Intent Class Diagram Implementation JDK 7. 代理(Proxy) Intent Class Diagram Implementation JDK 参考资料 设计模式是解决问题的方案,学习现有的设计模式可以做到经验复用。拥有设计模式词汇,在沟通时就能用更少的词汇来讨论,并且不需要了解底层细节。 ...
C 设计模式概述-行为型
三、行为型 1. 责任链(Chain Of Responsibility) Intent Class Diagram Implementation JDK 2. 命令(Command) Intent Class Diagram Implementation JDK 3. 解释器(Interpreter) Intent Class Diagram Implementation JDK 4. 迭代器(Iterator) Intent Class Diagram Implementation JDK 5. 中介者(Mediator) Intent Class Diagram Implementation JDK 6. 备忘录(Memento) Intent Class Diagram Implementation JDK 7. 观察者(Observer) Intent Class Diagram Implementation JDK 8. 状态(State) Intent Class Diagram Implementation 9. 策略(Stra...
D IO设计模式
Rector设计模式reactor模式结构 Reactor包含如下角色: Handle 句柄;用来标识socket连接或是打开文件; Synchronous Event Demultiplexer:同步事件多路分解器:由操作系统内核实现的一个函数;用于阻塞等待发生在句柄集合上的一个或多个事件;(如select/epoll;) Event Handler:事件处理接口 Concrete Event HandlerA:实现应用程序所提供的特定事件处理逻辑; Reactor:反应器,定义一个接口,实现以下功能: 供应用程序注册和删除关注的事件句柄; 运行事件循环; 有就绪事件到来时,分发事件到之前注册的回调函数上处理; “反应”器名字中”反应“的由来:“反应”即“倒置”,“控制逆转”,具体事件处理程序不调用反应器,而是由反应器分配一个具体事件处理程序,具体事件处理程序对某个指定的事件发生做出反应;这种控制逆转又称为“好莱坞法则”(不要调用我,让我来调用你) 业务流程及时序图 应用启动,将关注的事件handle注册到Reactor中; 调用Reactor,进入无限...











