
设计模式
大婷孩
这个作者很懒,什么都没留下…
展开
-
策略模式+工厂模式解决if-else
需求系统对接多种第三方支付方式(第三方登录)对于同一功能场景有多种策略时;在此拿支付举例(支付宝、微信).基本代码支付类型枚举public enum PayTypeEnum { ALI_PAY("ALI_PAY","支付宝支付"), WX_PAY("WX_PAY","微信支付"), ; public static PayTypeEnum getByCode(String code){ for (PayTypeEnum value : va原创 2020-07-09 23:03:13 · 573 阅读 · 0 评论 -
动态代理(2)-使用代理模式写出异步注解(简单的@Async)
自定义异步注解/** * @Retention - 标识这个注解怎 么保存,是只在代码中,还是编入class文件中,或者是在运行时可以通过反射访问。 * @Documented - 标记这些注解是否包含在用户文档中。 * @Target - 标记这个注解应该是哪种 Java 成员。 */@Target({ElementType.METHOD})@Retention(RetentionPolicy.RUNTIME)@Documentedpublic @interface DjlAsyn原创 2020-07-08 22:33:27 · 486 阅读 · 0 评论 -
代理模式
什么是代理模式代理模式主要对我们方法执行之前与之后实现增强代理模式应用场景日志的采集、权限控制、实现aop、Mybatis mapper、Spring的事务、全局捕获异常、Rpc远程调用、接口分布式事务原理代理数据源代理模式实现的原理代理模式主要包含三个角色,即抽象主题角色(Subject)、委托类角色(被代理角色,Proxied)以及代理类角色(Proxy),如图所示:抽象主题角色:可以是接口,也可以是抽象类;委托类角色:真实主题角色,业务逻辑的具体执行...原创 2020-07-06 23:20:39 · 493 阅读 · 0 评论