- 博客(12)
- 收藏
- 关注
原创 笔记-代理模式
深入理解代理模式文章,写的很好https://blog.csdn.net/briblue/article/details/73928350 简单模拟工厂生产商品,通过代理商,零售商,最后消费者购买商品,实现多级代理的效果,最好看链接的文章理解底层实现。 主要是每个代理类实现InvocationHandler,最后通过Proxy.newProxyInstance方法来一层层代理。 工厂类,省略product接口 public class Factory implements product{ @O.
2021-07-30 14:53:10
284
原创 笔记-模板方法
定义:模板方法模式在一个方法中定义一个算法骨架,并将某些步骤推迟到子类中实现。模板方法模式可以让子类在不改变算法整体结构的情况下,重新定义算法中的某些步骤 目的:1.使用模版方法模式的目的是避免编写重复代码,以便开发人员可以专注于核心业务逻辑的实现 2.解决接口与接口实现类之间继承矛盾问题 以上定义来自《设计模式之美》 主要设计思路为,一个抽象模板,定义一些抽象方法或钩子函数;根据需求添加业务实现类,实现模板中的方法 简单的demo: 抽象模板 public abstract String vegeta.
2021-07-27 15:24:07
111
原创 笔记-策略模式
策略模式和工厂模式区别: 工厂模式中只管生产实例,具体怎么使用工厂实例由调用方决定,策略模式是将生成实例的使用策略放在策略类中配置后才提供调用方使用。 工厂模式调用方可以直接调用工厂实例的方法属性等,策略模式不能直接调用实例的方法属性,需要在策略类中封装策略后调用。 解决问题: 工厂模式是创建型的设计模式,它接受指令,创建出符合要求的实例;它主要解决的是资源的统一分发,将对象的创建完全独立出来,让对象的创建和具体的使用客户无关。主要应用在多数据库选择,类库文件加载等。 策略模式是为了解决的是策略的切换与扩展
2021-07-22 15:32:38
139
原创 笔记-观察者模式
观察者模式目的: 当一个对象的状态发生改变时,已经登记的其他对象能够观察到这一改变从而作出自己相对应的改变。通过这种方式来达到减少依赖关系,解耦合的作用。 相关链接: https://mp.weixin.qq.com/s?__biz=MzAwNDA2OTM1Ng==&mid=2453152034&idx=1&sn=1e1db22c4a7cb2bfcc4a7ce141a9ef00&chksm=8cfd03a1bb8a8ab75c824b6866b1960485276f1dae
2021-07-22 10:36:43
90
原创 笔记-责任链模式
责任链模式是一种对象行为型模式,其主要优点如下。 降低了对象之间的耦合度。该模式使得一个对象无须知道到底是哪一个对象处理其请求以及链的结构,发送者和接收者也无须拥有对方的明确信息。 增强了系统的可扩展性。可以根据需要增加新的请求处理类,满足开闭原则。 增强了给对象指派职责的灵活性。当工作流程发生变化,可以动态地改变链内的成员或者调动它们的次序,也可动态地新增或者删除责任。 责任链简化了对象之间的连接。每个对象只需保持一个指向其后继者的引用,不需保持其他所有处理者的引用,这避免了使用众多的 if 或者 if·
2021-07-20 17:01:02
114
原创 笔记-建造者模式
建造者模式也叫生成器模式 解决痛点:将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示。例如根据需求只需要创建一个实体对象的部分属性时。 实体类 public class phone { private String cell; private String screen; private String system; getter,setter.... } 对应实体类每个属性 builder类 public abstract class
2021-07-19 17:35:19
60
原创 笔记-工厂模式
简单工厂模式 --一个产品的抽象类实现不同产品,工厂再根据需求实例化产品类 public String simpleFactory() { FactoryA fa = new FactoryA(); return fa.makeProduct(1).make1(); } 工厂方法模式 --生产工厂的工厂,在简单工厂模式中添加一个抽象工厂的接口,实现抽象工厂 public String MethodFAactory() { Factory allf = new FactoryA();
2021-07-16 15:22:51
89
原创 笔记-单例模式
饿汉模式 --提前加载,浪费资源 public Singleton getInstance() { instance = new Singleton(); return instance; } 懒汉式 --多线程判断为空,实例化两个对象 public Singleton getInstance1() { if (instance1 == null) { instance1 = new Singleton(); } return instance1;
2021-07-15 16:55:52
80
原创 mybatisplus 基本操作
Mybatisplus日志 mybatis-plus.configuration.log-impl=org.apach.ibatis.logging.stdout.StdOutImpl 设置mp的主键生成策略 在实体类的主键上加注解 @Table(type=IdType.AUTO) ID_WORKER mp自带策略,生成19位值,数字类型使用这种策略,long ID_WORKER_STR 字符串类型 自动填充 @TableField(fill = FieldFill.INSERT) @Ta...
2021-03-11 21:28:53
156
原创 计算几个bit位的值
public int binProcess(int start, int len, int paramValue) { paramValue >> = start; return paramValue&(int)(Math.pow(2, len) - 1); } start代表从第几个bit位开始;len代表截取多少个bit;paramValue是一个十进制的值。 附带一个十六进制转十进制: public int decodeHey(String hexs) { BigInteger b
2020-11-27 18:48:33
509
原创 springboot+mybatis搭建过程中遇到的问题
背景:使用postman模拟请求 问题1:controller中可以注入service层,service中的Dao层注入为null(在Dao层加了@Mapper注解,在Application加了@MapperScan还是不行)。 解决1:https://www.cnblogs.com/nongzihong/p/11350308.html 使用了第一种加@PostConstruct方法解决。 问题2:Invalid bound statement (not found) 解决2:是找不到mapper导致的。先
2020-09-24 15:30:20
313
原创 通过maven命令打包到本地仓库
问题描述:复制一个下载好的jar包到仓库指定位置,在pom依赖中会报红,找不到这个jar包。 解决办法:windows环境下,cmd命令,进入到jar包的目录下,使用命令 mvn install:install-file -Dfile=xxx.jar -DgroupId=xxx -DartifactId=xxx -Dversion=xxx -Dpackaging=jar ps:如果打包不成功,检查一下是不是多空格了 ...
2020-09-17 19:06:29
1014
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人