设计模式之装饰模式(decorator) 装饰模式 为了完成扩展,比继承更有弹性 给原有类增加扩展 注重覆盖,扩展 在设计期间考虑 是一个特别的适配器模式 适配器满足has-a()是不是的关系,装饰模式满足is-a(能不能)的关系 装饰者符合开闭原则 案例 手机套餐 手机接口 public interface Phone { Do 2023-01-29 编程小记 #设计模式
spring中的FactoryBean spring中的FactoryBean FactoryBean是一个bean!!! FactoryBean是一个bean!!! FactoryBean是一个bean!!! 只是它在spring中是一种特殊的bean,能够创造bean的bean. 可以理解为它是一个孕妇,孕妇是人,婴儿也是一个人~ 接 2022-12-10 编程小记 #spring
设计模式之委派模式(delegate) 委派模式(delegate) 举例 类图: 以老板,经理,员工举例 员工: public interface Emp { void job(String commend); } public class EmpA implements Emp{ public void job 2022-11-04 编程小记 #设计模式
简单实现spring依赖注入 简单实现spring依赖注入,并解决循环依赖问题 首先我们需要几个互相依赖的实体类 // Car.java public class Car { private String name; private String length; private String width; 2022-09-26 编程小记 #spring
java中的动态代理 java中的动态代理 java动态代理,我理解就是通过jvm本身,去生成class的字节码,生成的class文件是通过集成proxy,实现传入的接口来调用执行InvocationHandler里的方法. 先建立一个接口 package com.blaaair.proxy; public inter 2022-09-22 编程小记 #java基础
Java深拷贝和浅拷贝 深拷贝与浅拷贝 浅拷贝 可以实现Clonable接口并重写Object类的clone()方法来进行浅拷贝 public Object clone() { //浅拷贝 try { // 直接调用父类的clone()方法 return super.clone(); 2022-08-29 编程小记 #java基础
设计模式之工厂模式(factory) 工厂模式 需要演示的pojo public interface IProduct { void use(); } public class Product implements IProduct{ @Override public void use() { 2022-08-22 编程小记 #设计模式
设计模式之观察者模式(observable) 观察者模式 案例 论坛提问 提问者 public class Questioner extends Observable { private static Questioner questioner; private Questioner(){} public stat 2022-06-07 编程小记 #设计模式
设计模式之模板方法模式(template) 模板方法模式 规范执行流程 提高代码扩展性,复用性 符合开闭原则 案例 ORM框架 mapper接口 public interface RowMapper<T> { T mapRow(ResultSet rs,int rowNum) throws Exception; } jdbcTe 2022-04-04 编程小记 #设计模式
设计模式之策略模式(strategy) 策略模式(strategy) 可以避免多if else的情况 举例 类图: 以在支付方式举例 订单类 public class Order { private Integer uid; private String orderId; private Double amo 2022-03-31 编程小记 #设计模式