设计模式
柚子味儿的西瓜
这个作者很懒,什么都没留下…
展开
-
代理模式
1、什么是代理设计模式通过代理对象可以去控制对对象的访问,并且可以在访问前和访问后进行自定义处理。2、代理模式应用场景SpringAop、事务原理、日志打印、权限控制、远程调用、安全代理3、代理的分类(1)静态代理(2)动态代理 (JDK自带动态代理、Cglib动态代理)4、静态代理(1)定义所谓静态代理就是,程序进行编译之后运行之前就已经存在代理类的字...原创 2019-03-25 10:17:40 · 105 阅读 · 0 评论 -
UML类图与类的关系详解
虚线箭头指向依赖;实线箭头指向关联;虚线三角指向接口;实线三角指向父类;空心菱形能分离而独立存在,是聚合;实心菱形精密关联不可分,是组合;上面是UML的语法。在画类图的时候,理清类和类之间的关系是重点。类的关系有泛化(Generalization)、实现(Realization)、依赖(Dependency)和关联(Association)。其中关联又分为一般关联关...转载 2019-03-22 16:13:22 · 111 阅读 · 0 评论 -
单例模式
单例的创建方式:1、饿汉式:类初始化的时候,会立即加载该对象,线程天生安全,调用效率高。2、懒汉式:类初始化时,不会初始化该对象,真正需要使用的时候才会去创建该对象,具备懒加载功能。3、静态内部类方式:结合了懒汉式和饿汉式各自的优点,真正需要对象的时候才会加载,加载类是线程安全的。4、枚举单例:使用枚举实现单例模式,实现简单、调用效率高,枚举本身就是单例,由JVM从根本上提供保障,...原创 2019-02-25 14:17:34 · 5758 阅读 · 2 评论 -
设计模式
1、23种设计模式:(1)创建型模式,五种:工厂方法模式、抽象工厂模式、单例模式、建造者模式、原型模式(2)结构型模式,七种:适配器模式、装饰器模式、代理模式、外观模式、桥接模式、组合模式、享元模式(3)行为型模式,十一种:策略模式、模板方法模式、观察者模式、迭代子模式、责任链模式、命令模式、备忘录模式、状态模式、访问者模式、中介者模式、解释器模式2、设计模式六大...原创 2019-03-22 14:59:07 · 146 阅读 · 0 评论 -
反射
1、什么是反射就是正在运行、动态获取某个类的所有信息2、反射机制的应用场景JDBC加载驱动SpringIoc框架3、反射机制获取类的三种方式//第一种方式: Class<?> classc1 = Class.forName("Employee"); //第二种方式: //java中每个类型都有class 属性. Class<?>...原创 2019-03-22 14:26:45 · 91 阅读 · 0 评论 -
观察者模式
1、什么是观察者模式观察者模式(Observer),是一种行为性模型,行为型模式关注的是系统中对象之间的相互交互,解决系统在运行时对象之间的相互通信和协作,进一步明确对象的职责。相比来说,创建型模式关注对象的创建过程,结构型模式关注对象和类的组合关系。观察者模式主要用于1对N的通知。当一个对象的状态变化时,他需要及时告知一系列对象,令他们做出相应。实现有两种方式:推:每次都会...原创 2019-03-25 16:41:30 · 186 阅读 · 0 评论 -
策略模式
1、什么是策略模式定义了一系列的算法,并将每一个算法封装起来,而且使它们还可以相互替换。策略模式让算法独立于使用它的客户而独立变化。2、策略模式应用场景策略模式的用意是针对一组算法或逻辑,将每一个算法或逻辑封装到具有共同接口的独立的类中,从而使得它们之间可以相互替换。策略模式使得算法或逻辑可以在不影响到客户端的情况下发生变化。说到策略模式就不得不提及OCP(Open Closed Pri...原创 2019-03-25 16:27:02 · 148 阅读 · 0 评论 -
装饰器模式
1、什么是装饰器模式装饰器模式,也成为包装模式,顾名思义,就是对已经存在的某些类进行装饰,以此来扩展一些功能。其结构图如下:Component为统一接口,也是装饰类和被装饰类的基本类型。ConcreteComponent为具体实现类,也是被装饰类,他本身是个具有一些功能的完整的类。Decorator是装饰类,实现了Component接口的同时还在内部维护了一个ConcreteC...原创 2019-03-25 16:21:42 · 128 阅读 · 0 评论 -
原型模式
1、什么是原型模式原型模式是一个创建型的模式。原型二字表明了该模式应该有一个样板实例,用户从这个样板对象中复制一个内部属性一致的对象,这个过程也就是我们称的“克隆”。被复制的实例就是我们所称的“原型”,这个原型是可定制的。原型模式多用于创建复杂的或者构造耗时的实例,因为这种情况下,复制一个已经存在的实例可使程序运行更高效。2、原型模式适用场景(1)类初始化需要消化非常多的资源,这个资源...原创 2019-03-25 16:04:17 · 104 阅读 · 0 评论 -
外观模式
1、什么是外观设计模式外观模式(Facade Pattern)门面模式,隐藏系统的复杂性,并向客户端提供了一个客户端可以访问系统的接口。这种类型的设计模式属于结构型模式,它向现有的系统添加一个接口,来隐藏系统的复杂性。这种模式涉及到一个单一的类,该类提供了客户端请求的简化方法和对现有系统类方法的委托调用。2、外观模式例子(用户注册完之后,需要调用阿里短信接口、邮件接口、微信推送接口...原创 2019-03-25 14:33:00 · 91 阅读 · 0 评论 -
适配器模式
适配器案例日本电饭煲电源接口标准是110V电压,而中国标准电压接口是220V,所以要想在中国用日本电饭煲,需要一个电源转换器。定义日本和中国两种接口及其实现(1)110V电源接口//日本110V 电源接口public interface JP110VInterface { public void connect();}(2)110V电源接口实现public c...原创 2019-03-25 14:07:27 · 100 阅读 · 0 评论 -
模板方法设计模式
1、什么是模板方法设计模式模板方法模式:定义一个操作中的算法骨架,而将一些步骤延迟到子类中。模板方法使得子类可以不改变一个算法的结构即可重定义该算法的重复代码全部在父类里面,不同业务的,使用抽象方法,抽取给子类进行实现。抽取过程---抽象方法。就是将一些相同操作的代码,封装成一个算法的骨架。核心的部分留在子类中操作,在父类中只把那些骨架做好。 实现一些操作时,整体步...原创 2019-03-25 13:51:29 · 110 阅读 · 0 评论 -
建造者模式
1、什么是建造者模式 建造者模式:是将一个复杂的对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示。 与工厂模式的区别是:建造者模式更加关注与零件装配的顺序。2、建造者模式通常包括下面几个角色:(1)Builder:给出一个抽象接口,以规范产品对象的各个组成成分的建造。这个接口规定要实现复杂对象的哪些部分的创建,并不涉及具体的对象部件的创建。...原创 2019-03-25 10:32:45 · 99 阅读 · 0 评论 -
工厂模式
1、什么是工厂模式实现了创建者和调用者的分离,工厂模式分为简单工厂、工厂方法、抽象工厂模式2、工厂模式分类(1)简单工厂模式简单工厂模式相当于是一个工厂中有各种产品,创建在一个类中,客户无需知道具体产品的名称,只需要知道产品类所对应的参数即可。但是工厂的职责过重,而且当类型过多时不利于系统的扩展维护。//定义商品的接口public interface Car { pu...原创 2019-03-22 16:59:37 · 98 阅读 · 0 评论