DesignPattern
文章平均质量分 80
大道模式
忆之独秀
Engineer
展开
-
【大道模式】状态模式 - State Pattern(审核状态流转)
状态模式实现审核状态流转原创 2022-12-04 22:17:25 · 1120 阅读 · 1 评论 -
【大道模式】策略模式二-Strategy Pattern 2
目录一、策略模式定义二、为什么需要策略模式三、如何实现策略模式3.1 策略的定义3.2 策略的创建3.3 策略的使用四、原有代码五、重构代码5.1 策略定义5.2 策略创建5.3 策略使用之前的一个策略模式简单描述了策略模式的基本含义,本文将在生产环境的一个代码重构中重温一下。一、策略模式定义策略模式即定义一族算法类,将每个算法分别封装起来,让它们可以相互提花。此模式可以使算法的变化独立于使用他们的业务代码。二、为什么需要策略模式原创 2022-03-15 09:58:10 · 467 阅读 · 0 评论 -
【大道模式】单例模式-Singleton Pattern
最近做项目遇到了一个问题,看了很久都没有得到解决,问题描述如下:用Java实现了文件上传的后台代码,主要文件是UploadServlet,那么在上传的时候会发现当我上传一个文件的时候会触发多个连接数据库的操作,这样上传多个文件就会触发更多的操作,这样就会是一个遭难,因为数据库连接数过多就会造成以后创建失败。仔细观察一下有问题的伪代码:public class UploadServle...原创 2013-11-07 23:56:41 · 1355 阅读 · 0 评论 -
【大道模式】享元模式-FlyWeight Pattern
一、什么是享元模式? 运用共享技术有效地支持大量细粒度的对象。二、为什么要用享元模式? 需要降低细粒度对象给系统带来的内存压力。三、如何实现享元模式? 对象池技术,用于减少创建对象的数量,以减少内存占用和提高性能,通过hashmap保存对象,代码模板:public class FlyWeight { private HashMap<String, Object> flyweight = new Hash...原创 2020-12-05 21:46:33 · 165 阅读 · 0 评论 -
【大道模式】外观模式-Facade Pattern
当你的系统需要分层设计 或者 需要在子系统和客户端之间建立一个高层接口使得子系统更容易复用时,就需要考虑使用外观模式了。基本介绍:1.外观模式(Facade),也叫"过程模式":外观模式为子系统中的一组接口提供一个一致(稳定)的界面,此模式定义了一个高层接口,这个接口使得这一子系统更加容易使用(复用)。2.外观模式通过定义一个一致的接口,用以屏蔽内部子系统的细节,使得调用端只需跟这个接口发生调用,而无需关心这个子系统的内部细节。3.当系统需要进行分层设计时,可以考虑Facade模式。...原创 2020-08-08 13:15:37 · 242 阅读 · 0 评论 -
【大道模式】拦截过滤器模式-Intercepting Filter Pattern
最近在交接项目的过程中看到了拦截过滤器模式,用于在核心请求的"前后处理",比如在请求前对参数进行校验、做请求统计、数据埋点;在请求后记录返回结果、打印日志、处理日志(写入ES,HBase等),有点类似于aop的环绕around通知。核心组件:Filter(过滤器):在处理请求之前或者之后执行相应动作。Filter Chain(Filter Chain):一组过滤器的组合,按照添加的顺序依次执行。Target:目标处理对象Filter Manager:过滤管理器管理...原创 2020-05-23 19:18:40 · 363 阅读 · 0 评论 -
【大道模式】策略模式-Strategy Pattern
当你的代码中出现大量的if else的时候,是时候考虑一下策略模式了。基本介绍:1)策略模式中,定义算法族,分别封装起来,让他们之间可以相互替换,此模式让算法的变化独立于使用算法的客户。2)这算法体现了几个设计原则:第一、把变化的代码从不变的代码中分离出来;第二、针对接口编程而不是具体类(定义了策略接口);第三、多用组合/聚合,少用继承(客户通过组合方式使用策略)动机(Motivation):>在软件构建过程中,某些对象使用的算法可能多种多样,经常改变,如果将...原创 2020-05-31 19:29:58 · 442 阅读 · 0 评论