随笔分类 -  001.JAVA / 01.设计模式

摘要://1.定义模板抽象父类,将特有的业务定义为抽象方法,定义钩子函数 //2.子类继承抽象父类,实现抽象方法 //3.测试 public abstract class Cake { //定义成final,禁止子类重写 final void make(){ this.prepare(); if(cust 阅读全文
posted @ 2022-10-11 22:12 NIANER2011 阅读(36) 评论(0) 推荐(0)
摘要://1.引入pom依赖 //2.任意类,无需实现接口 //3.创建代理类,实现MethodInterceptor拦截器,重新intercept方法 //4.测试 cglib cglib 3.3.0 public class StudentDao{ public String study(String 阅读全文
posted @ 2022-10-11 22:12 NIANER2011 阅读(44) 评论(0) 推荐(0)
摘要://1.定义接口 //2.接口实现 //3.定义代理工厂,代理对象必须实现接口 //4.测试 public interface IStudentDao { public String study(String name); } public class StudentDao implements I 阅读全文
posted @ 2022-10-11 22:11 NIANER2011 阅读(24) 评论(0) 推荐(0)
摘要://1.定义接口 //2.接口实现 //3.定义静态代理类,,也需要实现接口,重写接口方法 //4.测试 public interface IStudentDao { public String study(String name); } public class StudentDao implem 阅读全文
posted @ 2022-10-11 22:10 NIANER2011 阅读(39) 评论(0) 推荐(0)
摘要://1.定义抽象类 //2.定义接口实现 //3.定义工厂类 //4.特有属性 //5.测试 public abstract class Website { public abstract void use(User user); } public class User { private Stri 阅读全文
posted @ 2022-10-08 21:55 NIANER2011 阅读(27) 评论(0) 推荐(0)
摘要://1.定义接口 //2.定义抽象实现,通过抽象类来实现适配, //当存在这样一个接口,其中定义了N多的方法,而我们现在却只想使用其中的一个到几个方法,如果我们直接实现接口,那么我们要对所有的方法进行实现,哪怕我们仅仅是对不需要的方法进行置空(只写一对大括号,不做具体方法实现)也会导致这个类变得臃肿 阅读全文
posted @ 2022-10-04 22:49 NIANER2011 阅读(47) 评论(0) 推荐(0)
摘要://1.定义目标被适配类 //2.定义适配器接口,期望输出 //3.实现适配器接口,被适配对象,通过set/构造方法注入进行组合 //4.测试 /** 被适配类,输出的是220V */ public class Voltage220V { public int outPut220V(){ retur 阅读全文
posted @ 2022-10-04 22:48 NIANER2011 阅读(38) 评论(0) 推荐(0)
摘要://1.定义目标被适配类 //2.定义适配器接口,期望输出 //3.定义适配器类,继承被适配器类,实现适配器接口 //4.测试 /** 被适配类,输出的是220V */ public class Voltage220V { public int outPut220V(){ return 220; } 阅读全文
posted @ 2022-10-04 22:48 NIANER2011 阅读(33) 评论(0) 推荐(0)
摘要://1.定义接口,包括所有的属性和方法,传入的是自身的实现类 //2.定义实现类,重写相关方法 //3.直到叶子节点为止 package com.serlyf.composite; public abstract class OrganizationComponent { private Strin 阅读全文
posted @ 2022-10-04 22:47 NIANER2011 阅读(41) 评论(0) 推荐(0)
摘要:1.单例模式 1.饿汉式 package com.serlyf.singleton; /** * 单例模式-饿汉式 * 1.构造私有 * 2.本类创建静态示例 * 3.getInstance()方法公开 */ public class SingleTon01 { //2.本类创建静态示例 priva 阅读全文
posted @ 2022-08-28 19:17 NIANER2011 阅读(34) 评论(0) 推荐(0)
摘要://1.定义产品 //2.抽象构造者,定义抽象方法 //3.具体建造者,生产具体的建造方法 //4.指挥者,负责生产具体的产品 package com.serlyf.builder; //产品 public class House { private String basic; private St 阅读全文
posted @ 2022-08-27 22:59 NIANER2011 阅读(39) 评论(0) 推荐(0)
摘要:public interface Car { String excute();}public class BenchiCar implements Car { public String excute() { System.out.println("奔驰车生产...."); return "OK"; 阅读全文
posted @ 2022-08-24 22:40 NIANER2011 阅读(41) 评论(0) 推荐(0)
摘要:public interface Car { String excute();} public class BenchiCar implements Car{ public String excute() { System.out.println("奔驰车生产...."); return "OK"; 阅读全文
posted @ 2022-08-23 23:56 NIANER2011 阅读(43) 评论(0) 推荐(0)
摘要:/** * 单例模式-枚举类型(推荐使用) */public enum SingleTon07 { INSTANCE; public void hello() { System.out.println("hello~"); }} 阅读全文
posted @ 2022-08-22 23:18 NIANER2011 阅读(35) 评论(0) 推荐(0)
摘要:/** * 单例模式-静态内部类(推荐使用) * 1.构造私有 * 2.本类定义实例对象 * 3.定义静态内部类 * 4.getInstance()方法公开 */public class SingleTon06 { //2.本类创建静态示例 private static volatile Singl 阅读全文
posted @ 2022-08-22 23:12 NIANER2011 阅读(58) 评论(0) 推荐(0)
摘要:/** * 单例模式-双重检测(推荐使用) * 1.构造私有 * 2.静态代码块创建静态示例 * 3.getInstance()方法公开 */public class SingleTon05 { //2.本类创建静态示例 private static volatile SingleTon05 ins 阅读全文
posted @ 2022-08-22 23:05 NIANER2011 阅读(37) 评论(0) 推荐(0)
摘要:/** * 单例模式-懒汉式(线程不安全,不使用) * 1.构造私有 * 2.静态代码块创建静态示例 * 3.getInstance()方法公开 */public class SingleTon03 { //2.本类创建静态示例 private static SingleTon03 instance 阅读全文
posted @ 2022-08-22 23:01 NIANER2011 阅读(31) 评论(0) 推荐(0)
摘要:/** * 单例模式-饿汉式 * 1.构造私有 * 2.本类创建静态示例 * 3.getInstance()方法公开 */public class SingleTon01 { //2.本类创建静态示例 private static final SingleTon01 INSTANCE = new S 阅读全文
posted @ 2022-08-22 22:50 NIANER2011 阅读(36) 评论(0) 推荐(0)