设计模式
文章平均质量分 90
涉及到的模式是自己秋招面试过程准备的。要想查看完整版或者详细版请自行百度查阅。
古月军
这个作者很懒,什么都没留下…
展开
-
设计模式总述
设计模式常见的面试题:1:设计模式的6个原则(开闭原则最好说明含义)2:单例模式的手撕(双重检验的写法是重点)3:代理模式(AOP的底层实现),代理模式中的jdk和cglib优缺点和适用场景4:在实际的开发中具体用到了什么模式,什么样的业务场景用到设计模式一:设计模式的概念:设计模式(Design pattern)是一套被反复使用、多数人知晓的、经过分类编目的、代码设计经验...原创 2019-10-23 14:17:27 · 90 阅读 · 0 评论 -
策略模式
一:策略模式定义(compator接口比较):定义一组算法,将每一个算法封装起来,并且它们之间可以互换二:策略模式特点:缺点是调用者需要知道所有的策略,才能准确的调用。优点是一旦知道了具体的策略之后,可以自由的切换。主要由抽象策略角色,具体策略角色,策略上下文角色和测试类四部分组成。策略上下文将抽象策略角色通过构造函数的形式注入,这样在测试的时候就可以接收指定的任何具体策略角色。三...原创 2019-10-24 10:57:05 · 86 阅读 · 0 评论 -
迭代模式
一:迭代模式的定义:提供一种方法访问一个容器对象的各个元素,而又不需要暴露该对象的内部细节。迭代器是为容器服务的,主要目的就是为了遍历集合元素。二:迭代模式的实现:抽象迭代器接口public interface Iterator { boolean hasNext(); Object next();}抽象容器接口public interface Container { ...原创 2019-10-25 10:37:54 · 439 阅读 · 0 评论 -
观察者模式
一:观察者模式定义(发布订阅的区别):定义对象间的一种一对多的依赖关系,当一个对象的状态发生改变时,所有依赖于它的对象都得到通知并被自动更新。二:观察者模式特点:与发布订阅不同的是这个更新是由具体目标调用具体观察者的方法进行更新。两者之间存在一定的依赖关系。但是发布订阅模式则是将其统一交给调度中心进行处理,两者之间没有任何依赖。该模式有抽象主题接口,具体主题实现类,抽象观察...原创 2019-10-24 10:55:50 · 81 阅读 · 0 评论 -
单例模式
一、单例模式定义:(Spring 的bean默认类型,数据库连接池,线程池)单例模式确保某个类只有一个实例,而且自行实例化并向整个系统提供这个实例。在计算机系统中,线程池、缓存、日志对象、对话框、打印机、显卡的驱动程序对象常被设计成单例。这些应用都或多或少具有资源管理器的功能。每台计算机可以有若干个打印机,但只能有一个Printer Spooler,以避免两个打印作业同时输出到打印机中。每台计...原创 2018-09-05 13:10:58 · 225 阅读 · 0 评论 -
原型模式
一:原型模式定义(bean的prototype):用原型实例指定创建对象的实例,并且通过拷贝这些原型创建新的对象二:原型模式特点:运用到的主要是克隆。原理是从内存中以二进制流的方式进行拷贝,重新分配一个内存块,构造函数不会被执行,且类成员变量上不可以被final修饰,否则报错。对于基本类型(包括String)克隆后的对象修改不会影响到克隆前对象,而对于数组或者引用类型,克隆后对象的修改...原创 2019-10-24 10:50:59 · 87 阅读 · 0 评论 -
装饰者模式
一:装饰者模式定义(mybatis的Executor。I/O流):动态的给一个对象添加一些额外的职责,就增加功能而言,装饰模式相比生成子类更为灵活二:装饰者模式特点:一般由5部分组成。第一个是抽象的component组件类,第二个是具体的concreteComponete,也就是需要被装饰的类,第三个是抽象的装饰者类,该类也需要继承抽象的component组件类,同时将抽象组件类通过构...原创 2019-10-24 10:49:33 · 95 阅读 · 0 评论 -
动态代理模式
一:动态代理定义(Spring的AOP底层实现):为其他对象提供一种代理以控制对这个对象的访问二:动态代理特点:代理模式的核心作用就是通过代理,控制对对象的访问。它的设计思路是:定义一个抽象角色,让代理角色和真实角色分别去实现它。真实角色:实现抽象角色,定义真实角色所要实现的业务逻辑,供代理角色调用。它只关注真正的业务逻辑,比如歌星唱歌。代理角色:实现抽象角色,是真实角色的代理...原创 2019-10-24 10:48:26 · 116 阅读 · 0 评论 -
模板模式
一:模板模式定义(AQS的设计):定义一个操作中的算法的框架,而将一些步骤延迟到子类中。使得子类在不改变一个算法的结构即可以重新定义该算法的某些特定步骤。二:模板模式特点:模板模式主要由抽象的模板类,具体的模板类以及测试类三部分组成。其中在抽象的模板类中可以定义基本方法(第一部分是由protected修饰的方法让子类继承,实现自己的逻辑,从而将一部分方法的实现延迟到子类上;第二部分是由...原创 2019-10-24 10:46:09 · 107 阅读 · 0 评论 -
责任链模式
一:责任链模式定义(tomcat的启动加载过程,拦截器)使多个对象都有机会处理请求,从而避免了请求的发送者和接受者之间的耦合关系。将这些对象连成一条链,并沿着这条链传递该请求,直到有对象处理它为止二:责任链模式的特点纯责任链模式:一个request必须被且只能被一个handle处理。不允许request不被处理,或者被多次处理。不纯:request可以不被处理,也可以被多次处理。...原创 2019-10-24 10:42:17 · 74 阅读 · 0 评论 -
工厂模式(简单工厂,工厂方法,抽象工厂)
一:简单工厂1:简单工厂模式的定义:把实例化的操作单独放到一个类中,这个类就成为简单工厂类,让简单工厂类来决定应该用哪个具体子类来实例化。这样做能把客户类和具体子类的实现解耦,客户类不再需要知道有哪些子类以及应当实例化哪个子类2:简单工厂模式的特点:违背开闭原则,不属于设计模式的一种。3:简单工厂模式的实现:Product:抽象产品类,将具体产品类公共的代码进行抽象和提取...原创 2019-10-24 10:30:59 · 81 阅读 · 0 评论