设计模式
文章平均质量分 82
wandoubi
每天进步一点点
展开
-
Spring事务学习(一)
Spring事务管理分类:编程式事务管理声明式事务管理事务步骤开启事务执行业务逻辑出现异常进行回滚正常执行则提交事务编程式事务管理Spring提供了两种编程式事务管理的方法使用 TransactionTemplate 或者 TransactionalOperator.直接实现TransactionManager接口如果是使用的是命令式编程,Spring推荐使用TransactionTemplate 来完成编程式事务管理,如果是响应式编程,那么使用TransactionalOp原创 2021-08-09 23:09:08 · 212 阅读 · 0 评论 -
MyBatis源码学习(代理模式)
代理模式定义:代理对象具有和目标对象(真实业务对象)相同的方法,即实现共同的接口或继承同一个类代理对象持有目标对象的引用,并由代理对象控制对目标对象的操作代理模式属于结构型模式,它在不改变目标类代码的情况下,通过引入代理类来给目标类附加功能。Mybatis框架中,SqlSession类就用到了代理模式,SqlSession是操作数据库一个会话对象,我们用户一般通过SqlSession做增删改查,但是如果每次做增删改都开启事务,关闭事务,显然很麻烦,所以就可以交给代理类来完成这个工作,如果没原创 2021-07-24 10:28:44 · 117 阅读 · 0 评论 -
模板方法
作用:绝大部分设计模式的原理和实现,都非常简单,难的是掌握应用场景,搞清楚能解决什么问题。模板模式也不例外。模板模式主要是用来解决复用和扩展两个问题。定义:定义:模板方法模式在一个方法中定义一个算法骨架,并将某些步骤推迟到子类中实现。模板方法模式可以让子类在不改变算法整体结构的情况下,重新定义算法中的某些步骤目的:1.使用模版方法模式的目的是避免编写重复代码,以便开发人员可以专注于核心业务逻辑的实现2.解决接口与接口实现类之间继承矛盾问题以上定义来自《设计模式之美》示例:我转载 2021-07-18 16:22:35 · 612 阅读 · 0 评论 -
工厂模式
工厂模式一般情况下,工厂模式分为三种更加细分的类型:简单工厂、工厂方法和抽象工厂。不过,在 GoF 的《设计模式》一书中,它将简单工厂模式看作是工厂方法模式的一种特例,所以工厂模式只被分成了工厂方法和抽象工厂两类。工厂方法模式:定义了一个创建对象的接口,但由子类决定要实例化的类是哪一个。工厂方法让类把实例化推迟到子类抽象工厂模式:提供一个接口,用于创建相关或依赖对象的家族,而不需要明确指定具体类思考什么时候该用工厂模式?相对于直接 new 来创建对象,用工厂模式来创建究竟有什么好处呢?简单工原创 2021-02-21 14:41:22 · 179 阅读 · 0 评论 -
代理模式
代理模式 根据代理类的创建时机和创建方式的不同,我们可以将代理模式分为静态代理和动态代理两种形式,其中,在程序运行前就已经存在的编译好的代理类是为静态代理,在程序运行期间根据需要动态的创建代理类及其实例来完成具体的功能是为动态代理。其中,代理对象的作用如下:代理对象存在的价值主要用于拦截对真实业务对象的访问;代理对象应该具有和目标对象(真实业务对象)相同的方法,即实现共同的接口或继...原创 2019-08-28 21:34:07 · 3221 阅读 · 0 评论