设计模式
设计模式
ZhangJun95
这个作者很懒,什么都没留下…
展开
-
动态代理、工厂模式、注解相结合实现对象创建
import java.lang.annotation.Retention;import java.lang.annotation.RetentionPolicy;import java.lang.reflect.InvocationHandler;import java.lang.reflect.InvocationTargetException;import java.lang.reflect.Method;import java.lang.reflect.Proxy;public cl.原创 2022-03-04 18:31:05 · 259 阅读 · 0 评论 -
通俗易懂的注释,让你一看就懂的java动态代理
package com.jun.music.proxy;import java.lang.reflect.InvocationHandler;import java.lang.reflect.Method;import java.lang.reflect.Proxy;import java.nio.file.attribute.AclEntry;public class ProxyTest { public static void main(String[] args) {原创 2022-03-02 21:29:32 · 247 阅读 · 0 评论 -
策略者模式
策略者模式原创 2022-02-15 16:56:54 · 1311 阅读 · 1 评论 -
享元设计模式
享元模式:package com.demo;import java.util.HashMap;public class FlyweightPattern { public static void main(String[] args) { FlyweightFactory factory = new FlyweightFactory(); Flyweight f01 = factory.getFlyweight("a"); Flyweig原创 2022-02-09 18:49:24 · 56 阅读 · 0 评论 -
适配器模式(结合SpringMVC实战讲解)
适配器模式:public interface Duck { public void quack(); public void fly(); }public interface Cock { public void gobble(); public void fly(); }public class WildCock implements Cock { public void gobble() { System.out.println(原创 2022-02-09 18:48:31 · 1484 阅读 · 2 评论 -
建造者模式
建造者模式:建造模式分成两个很重要的部分:a) 一个部分是Builder,这里是定义了如何构建各个部件,也就是知道每个部件功能如何实现,以及如何装配这些部件到产品中去。b) 另外一个部分是Director,Director是知道如何组合来构建产品,也就是说Director负责整体的构建算法,而且通常是分步骤地来执行。建造者模式:class User { private String name; private String password; private String原创 2022-02-09 18:46:40 · 147 阅读 · 0 评论 -
原型设计模式
原型模式 : 用一个已经创建的实例作为原型,通过复制该原型对象来创建一个和原型相同或相似的新对象由于 Java 提供了对象的 clone() 方法,所以用 Java 实现原型模式很简单。Object 类中有一个 clone() 方法,它用于生成一个新的对象,当然,如果我们要调用这个方法,java 要求我们的类必须先实现 Cloneable 接口,此接口没有定义任何方法,但是不这么做的话,在 clone() 的时候,会抛出 CloneNotSupportedException 异常原创 2022-02-09 18:45:56 · 55 阅读 · 0 评论 -
设计模式原则
开闭原则:开扩展,闭修改原来的代码访问类通过定义想访问的接口,通过多态的特性实现扩展性。里氏替换原则: 里氏替换原则通俗来讲就是:子类可以扩展父类的功能,但不能改变父类原有的功能。 子类需遵守父类的规则,不能对其进行修改。几维鸟不能飞,所以没有速度,不能直接继承鸟类接口可以提供更泛的接口。依赖倒置原则: 依赖倒置原则的原始定义为:高层模块不应该依赖低层模块,两者都应该依赖其抽象;抽象不应该依赖细节,细节应该依赖抽象其核心思想是:要面向接口编程,不原创 2022-02-09 18:44:36 · 169 阅读 · 0 评论 -
代理设计模式(静态代理,动态代理)
代理设计模式静态代理模式:package proxy;import java.lang.reflect.InvocationTargetException;// 静态代理模式/* 1、创建接口 2、创建实现接口的普通类 3、创建实现接口的代理类 4、通过对代理类创建有参构造,参数类型为接口的类型,从而实现普通类能通过参数传进代理类,成为变量,通过变量获取代理类中的方法,从而实现不直接通过普通类创建实例的对象调用方法 */public class Stat原创 2022-02-09 18:41:44 · 170 阅读 · 0 评论 -
单例设计模式
标题单例设计模式编写单例模式的代码其实很简单,就分了三步:将构造函数私有化在类的内部创建实例提供获取唯一实例的方法// 饿汉模式class Singleton2 { private static Singleton2 singleton = new Singleton2(); private Singleton2() { } // 使用私有构造函数,避免外部创建类实例对象 public static Singleton2 getInstance3()原创 2022-02-09 18:35:24 · 81 阅读 · 0 评论 -
工厂设计模式
一、简单工厂设计模式package reflect;/* 工厂设计模式: 1、创建接口 2、普通类继承接口 3、创建工厂类Factory,创建匹配的方法 4、实例化工厂类* *///1、创建接口interface Person{ void eat();}//2、普通类继承接口class Man implements Person{ @Override public void eat(){原创 2022-02-09 18:34:20 · 255 阅读 · 0 评论