前言
学习命令模式痛苦的地方就是很多用不到,
真正开发也很少会刻意去写,就算用到也是有几个比较常见的
但还是得逼着自己看设计模式。。。
为了实现下一步研究spring源码的目标,硬着头皮去看点喽
接下来计划学习访问者模式、迭代者模式、观察者模式。。。一步步来吧
计划9月底前把设计...
汪明鑫
5年前 (2019-09-07) 903浏览 0评论
0喜欢
谈到代理模式,绕不开静态代理、动态代理
谈到动态代理绕不开jdk方式和cglib方式
自然而言也就想到了spring aop的实现就是用了动态代理
AOP编程中如何选择代理模式:
目标对象需要实现接口,用JDK代理
目标对象不需要实现接口,用Cglib代理
还有mybatis...
汪明鑫
5年前 (2019-09-04) 817浏览 0评论
0喜欢
项目中实际都是多模块项目,没有实际从0到1搭过,
今天实操了一遍,和直接创建一个spring boot项目还是有一定差别的
spring boot搭建maven多模块,依赖都由父pom来管理,
子模块需要什么依赖就引入什么依赖,不用管版本号
且不同模块也可以相互依赖...
汪明鑫
5年前 (2019-09-03) 847浏览 0评论
0喜欢
不要吞掉原异常,可以打log或者再抛出去;
不要在for循环中try-catch;
不要使用异常来控制业务逻辑;
不要直接捕获泛泛的异常 Exception;
try-catch的代码快不要太大,不好定位,会降低jvm优化效率;
try-catch产生性能问题,会落快照;
不知...
汪明鑫
5年前 (2019-08-30) 767浏览 0评论
0喜欢
前言
装饰者模式顾名思义,做一个装饰
对原有逻辑进行一个包装,锦上添花
动态的把新功能附加到对象上,就像插件一样,即插即用
是继承的替代方案,但比只用的继承的承弹性更大,更灵活,且遵循设计模式原则
类图
Component:抽象组件(可以是抽象类...
汪明鑫
5年前 (2019-08-27) 944浏览 0评论
0喜欢
前言
解耦抽象和实现,使得两者可以独立的变化。
多重继承的替代方案
此处的 抽象 并不是指 抽象类 或 接口 这种高层概念,实现 也不是 继承 或 接口实现 。
抽象 与 实现 其实指的是两种独立变化的维度。其中,抽象 包含 实现,因此,一个 抽象 类的变化可能涉及到多种维度的变...
汪明鑫
5年前 (2019-08-26) 893浏览 0评论
0喜欢
前言
建造者模式顾名思义造东西的,因此是创建型设计模式
建房子需要打地基、砌墙、封顶
地基、砌墙、封顶都是建房子的必须的一部分,固定的建造部分组成整体
就可以使用建造者模式
过程和建造房子的部分相同,但不同的房子建造的高度质量等不太一样
通用类图
(...
汪明鑫
5年前 (2019-08-21) 910浏览 0评论
0喜欢
mybatis报错
No constructor found in …. matching….
查询数据库返回一个实体类的list
最开始方向走错了,以为是数据库数据类型映射到Java数据类型出错,接收不到
后来发现是由于构造函数的问题,需要...
汪明鑫
5年前 (2019-08-21) 858浏览 0评论
0喜欢
原型模式
用原型实例指定创建对象的种类,并且通过拷贝这些原型创建新的对象。
以原型为模,克隆出所有属性均相同的对象
如克隆羊多利,记住这个例子,就不难理解原型模式了
使用场景
● 资源优化场景
类初始化需要消化非常多的资源,这个资源包括数据、硬件资源...
汪明鑫
5年前 (2019-08-20) 828浏览 0评论
0喜欢
之前已经有一篇关于模版方法模式的例子
现在看看写的有些烂,另开一篇
模版方法,顾名思义,按照一定的模版(规则、步骤)来执行的方法
核心思想:
把算法的结构和步骤定义在抽象模版方法类中,而其实现类,实现具体的方法。
既统一了算法的步骤,又可...
汪明鑫
5年前 (2019-08-19) 872浏览 0评论
2喜欢