logo
publist
写文章

简介

该用户还未填写简介

擅长的技术栈

可提供的服务

暂无可提供的服务

【设计模式】中介者模式的应用

中介者模式(Mediator Pattern)是一种行为型设计模式,它用于解决对象间复杂、过度耦合的问题。当多个对象(一般是两个以上的对象)之间存在复杂的相互关联和直接通信时,中介者模式通过引入一个新的中介对象来封装和集中处理这些对象间的交互逻辑,从而降低对象之间直接耦合。说的再具体一点,就是原本相互依赖的对象(通常称为同事类或者参与者)不直接相互引用,而是通过中介者对象进行交互。每个对象都将请求

文章图片
#设计模式#中介者模式
【设计模式】模板方法与策略模式的结合使用

模板方法是一种非常简单的设计模式,只要能够理解面向对象中的继承与多态就能够理解这种设计模式,我们可以在很多的框架源码中找到它的身影。同时在我们的日常开发中,它一般是用在同类型且不同实现方式的业务逻辑中,抽取公共逻辑,简单的说就是,模板方法经常和策略模式结合使用。《SpringBoot优雅使用策略模式》本篇文章介绍了什么是模板方法、模板方法的简单实现与在SpringBoot中的实现的。然后对比了模板

文章图片
#设计模式#策略模式#模板方法模式
【Gradle】(一)在IDEA中初始化gradle项目及其核心概念解释

本系列主要讲的是的理论与实践,也就是我们常说的Gradle,与Maven类似,它也是一种自动化构建工具。相对于Maven来说,Gradle在可定制型、灵活性、性能、插件生态、多项目管理上面有更多的优势,同时相对于XML语言,Gradle使用代码来做管理声明方式会更加优雅。缺点是学习的曲线更陡、资源消耗更高、维护成本更高等。总之,Gradle 更适合复杂和大型项目,尤其是需要高度定制化的构建过程的项

文章图片
#java#gradle
【设计模式】订单状态流传中的状态机与状态模式

状态模式一般是用在对象内部的状态流转场景中,用来实现状态机。什么是状态机呢?状态机是对状态转移的抽象,由事件状态动作组成,事件有时候也被称为转移事件或者转移,当事件触发时,可以将状态由一个状态变更为另一个状态,并执行动作。其中,事件和状态是必须存在的,动作可以不要。下面是一张状态图,表达的就是一个状态机的模型。通俗来讲,就是对状态的变更做了一定的限制,不能随意的修改状态,而是只有处于某个特定的状态

文章图片
#设计模式#状态模式#软件工程
【MySQL实践】使用FIND_IN_SET查询逗号隔开的数据&Mybatis-Plus的实现方式

项目中有一张表中有这么一个字段,这个字段的值是通过逗号隔开的数据,例如:`1,2,3,4,5`,并且在存储的时候这些数字并不是有序的,有可能是:`2,3,5,1,4`等等,当然也可能不完全是5个数字,也可能是:`1,5`,`2,3,5`等等。对于逗号隔开的数据,可以通过函数来进行匹配,其他符号隔开的数据可以通过like函数来进行拼接。

文章图片
#mysql#mybatis#数据库
【Docker】(七)使用docker-compose一键部署环境

使用 Docker Compose ,可以通过 docker-compose.yml 文件来替代指令来编排容器,yml文件可以一目了然的看到容器之间的关系,避免了使用一大堆繁琐的指令。同时,可以将已编写好的 compose 文件,共享给他人使用,起到了一次编写,到处运行的效果,减少了大量的重复工作。由于微服务时代的到来,我们生产环境中的应用服务往往是多机多节点部署, Docker Compose

文章图片
#docker#运维#容器
【Redis实践】使用zset实现实时排行榜以及一些优化思考

我们在做互联网项目的时候会遇到一些排行版的需求,如果排行榜的时效性不高,比如日榜,周榜这种,可以考虑通过定时任务统计、聚合数据并落库,需要查询的时候直接查询这个统计好的数据就好了。但有时候我们遇到的需求时效性会高一点,比如小时榜、分钟榜、甚至实时排行榜,这种情况下再使用定时任务统计的方式就不太合适了。在Redis中有个叫zset的数据结构,非常适合用来做排名,它的数据结构中有一个score分数,我

文章图片
#redis#bootstrap#数据库
【并发编程】(七)volatile原理——解决可见性、有序性问题

volatile的作用是并发环境下,在一定的作用范围内解决共享变量的可见性和有序性问题,相对于synchronized和显示的加锁,volatile在性能上根据优势,可以尽可能的以更细的粒度来保证线程安全。通过JMM提供的lock指令,来使用CPU底层的提供的总线锁或缓存锁来保证共享资源的实时同步和更新。总线锁在加锁后会阻塞CPU访问内存,所以大多数CPU是通过缓存一致性协议对缓存行状态的控制来达

文章图片
#java
【Docker】(七)使用docker-compose一键部署环境

使用 Docker Compose ,可以通过 docker-compose.yml 文件来替代指令来编排容器,yml文件可以一目了然的看到容器之间的关系,避免了使用一大堆繁琐的指令。同时,可以将已编写好的 compose 文件,共享给他人使用,起到了一次编写,到处运行的效果,减少了大量的重复工作。由于微服务时代的到来,我们生产环境中的应用服务往往是多机多节点部署, Docker Compose

文章图片
#docker#运维#容器
【Redis实践】(一)使用Docker安装Redis并配置持久化策略

使用docker可以简单的启动一个Redis,只需要从docker仓库中拉取到redis的镜像,然后直接运行即可,依次执行如下脚本。

#docker#redis#运维
    共 12 条
  • 1
  • 2
  • 请选择