设计模式
Art pursuer
这个作者很懒,什么都没留下…
展开
-
依赖spring的链模型
1.链模型: 就是执行有顺序的过程;2.上代码吧TestService.classimport org.springframework.core.Ordered;public interface TestService extends Ordered { void execute();}Test1Service.classimport org.springframework.stereotype.Service;import lombok.extern.sl原创 2021-01-04 15:57:10 · 92 阅读 · 1 评论 -
版本控制维护数据最终一致性
在业务开发中,经常需要维护缓存和快照的数据最终一致性;备忘录模式:保存一个对象的某个状态,以便在适当的时候恢复对象。直接上代码吧!!!1.缓存相关接口CacheService.class 缓存接口定义public interface CacheService<T extends Version> { /** * 存redis缓存和版本号 * * @param t */ void saveCache(T t); .原创 2021-01-26 18:47:16 · 264 阅读 · 0 评论 -
Spring 优雅使用多例模式
1.多例模式使用场景?比如对商品的属性字段进行操作,此时属性对象的字段偏多,在上下文引用过程中使用频次较多时,使用多例模式会使代码更加优雅和高扩展2.LookupContext 生产多例对象的类@Componentpublic abstract class LookupContext { @Lookup("skuContext") public abstract SkuContext skuContext();}3.SkuContext sku的上下文引用@S原创 2021-04-08 10:20:41 · 2099 阅读 · 4 评论 -
自定义链模型执行流程
目标: 执行有顺序流程任务,可根据业务自动异动流程顺序上代码吧!!!1.上下文引用RequestContext.classpublic interface RequestContext<V> { V toView();}2.处理器定义ActionHandle.classpublic interface ActionHandle<Ctx extends RequestContext> { boolean execute(Ctx req.原创 2021-01-07 18:53:43 · 124 阅读 · 0 评论 -
策略模式+模板模式让代码更优雅
模式将一些列有一些列共性的功能代码抽离出来,使代码变得优雅和高扩展;应用场景: 多地区菜单差异化,多地区价格计算等等直接上代码吧!!!1.输入参数对象定义父类:import lombok.Data;import lombok.experimental.SuperBuilder;@SuperBuilder@Datapublic class MenuParam { private String regionCode;}中国地区子类:import lombo原创 2020-12-28 14:27:06 · 279 阅读 · 1 评论