随笔分类 - 设计模式
摘要:什么是责任链模式 责任链模式:为请求创建了一个接收者对象的链。 即将多个操作组装成一条链路进行处理。请求在链路上传递,链路上的每一个节点就是一个处理器,每个处理器都可以对请求进行处理,或者传递给链路上的下一个处理器处理 在这种模式中,通常每个接收者都包含对另一个接收者的引用。如果一个对象不能处理该请
阅读全文
摘要:什么是代理? 代理就是代替委托方去做一些事情 代理模式: 为其他对象提供一种代理以控制对这个对象的访问。 它的特征是代理类与委托类实现相同的接口,代理类的对象本身并不真正实现服务,而是通过调用委托类的对象的相关方法,来提供特定的服务。简单来说就是,我们访问实际对象时,是通过代理对象来访问的,代理模式
阅读全文
摘要:建造者模式(Builder Pattern)属于创建型模式,它提供了一种创建对象的最佳方式。 它将一个复杂的对象的构建分成多个简单的步骤。 当一个类的构造函数参数个数超过4个,而且这些参数有些是可选的参数,考虑使用建造者模式 建造者实现步骤: 1、在Setting 中创建一个静态内部类 Builde
阅读全文
摘要:模拟Spring自实现监听器 注意:在toC的项目中禁止使用延时发布事件(事件发布后延时执行),采用sleep方式,会造成线程池任务堆积,从而执行拒绝策略,同时等待队列中任务排队等待时间过长,造成任务执行的积压 组件: 事件(Event):即监听什么。如任务即将执行、任务执行完毕 监听器(Liste
阅读全文
摘要:监听器模式:监听事件的触发,然后做出相应的操作。(事件驱动模式、事件驱动架构) 当系统运行某些关键节点的时候,会通过广播器去发布一些事件,而系统中存在着一些监听器。对某些事件感兴趣,去订阅这些事件。当这些事件被发布出去之后,监听器监听到这些事件,会触发一些行为。 一、Spring中的监听器实现 组件
阅读全文
摘要:前言: 当if else的条件少的话,代码可阅读性及逻辑不影响阅读和扩展。一旦if else过多的话会导致逻辑比较混乱,不易扩展并且很容易出错。 实现方案: 1、定义一个@HandlerType注解,一个value属性,其值对应 if 条件的值 2、定义一个接口或者抽象类,抽AbstractHand
阅读全文
摘要:设计模式分为创建型、行为型和结构型 设计模式的6大原则: 1、开闭原则:对扩展开放,对修改关闭 2、里氏替换:任何父类出现的地方,子类都可以替换。子类不要重写和重载父类的方法 3、迪米特原则:减少类之间的耦合,调用依赖类封装好的方法,不对其进行修改 4、接口隔离:接口最小化,实现的接口不应包含不需要
阅读全文