设计模式系列文章:https://zhum.in/blog/category/notes/design-pattern Demo code:https://github.com/njZhuMin/BlogSampleCode 中介者模式 中介者模式(Mediator Pattern)又称为调解者模式或调停者模式。中介者模式使用一个中介对象来封装一系列的对象交互过程,使各对象之间不需要显式地直接相互调用,从而松散耦合,而且可以独立地改变它们之间的交互。属于行为型模式。 一个系统中,如果各层次对象之间存在大量的关联关系…

2020-03-22 0条评论 1561点热度 0人点赞 SilverLining 阅读全文

提出问题 我觉得做过 Java Web 项目的程序员,代码数量敲到一定程度的时候,都会产生这样的疑惑:MVC 层中的 Service 层,Dao 层的接口到底有什么用?是否是为了使用接口而使用接口? 不用接口并不代表就不能解耦,就不是 OOP 。 尤其是在事实上,99% 的场景都是接口与实现类严格一一对应的。在这种情况下,接口究竟有什么意义? 是为了使用 JDK 基于接口的动态代理吗?但基于 CGLib 的动态继承也同样可以实现 AOP,并且 Spring 本身也对两种技术都提供了支持,所以技术上的理由也同样是不充…

2020-03-08 0条评论 1441点热度 0人点赞 SilverLining 阅读全文

设计模式系列文章:https://zhum.in/blog/category/notes/design-pattern Demo code:https://github.com/njZhuMin/BlogSampleCode 享元模式 面向对象可以很好地解决一些灵活性或可扩展性问题,但在很多情况下需要在系统中增加类和 对象的个数。当对象数量太多时,将导致运行代价过高,带来性能下降等问题。享元模式正是为解决这类问题而诞生的。 享元模式 (Flyweight Pattern) 又称为轻量级模式,是对象池的一种实现。例如…

2020-03-08 0条评论 1355点热度 0人点赞 SilverLining 阅读全文

# 门面模式 门面模式(Facade Pattern)又称外观模式,提供了一个统一的高层次接口,用来访问子系统中的一群接口。 应用场景: - 当子系统越来越复杂时,使用门面模式提供统一简单的入口接口。(横向耦合) - 构建多层系统结构,利用门面对象作为每层的入口,简化层间调用。(纵向耦合)

2020-03-07 0条评论 1846点热度 0人点赞 SilverLining 阅读全文

代理模式(Proxy Pattern)是指为其他对象提供一种代理,以控制对这个对象的访问,属于结构型模式。 在某些情况下,一个对象不适合或者不能直接引用另一个对象,而代理对象可以在客户端和目标对象之间起到中介的作用。

2020-03-04 0条评论 1524点热度 0人点赞 SilverLining 阅读全文

单例模式(Singleton Pattern)是指确保一个类在任何情况下都只有一个实例,提供一个全局访问点并隐藏其所有的构造方法。 常见的单例模式场景有: - ServletContext - ServletConfig - ApplicationContext - DBPool

2020-03-01 0条评论 1437点热度 0人点赞 SilverLining 阅读全文

原型模式 原型模式 (Prototype Pattern) 是指原型实例指定创建对象的种类,并且通过拷贝这些原型创建新的对象,属于创建型模式。 原型模式的核心在于拷贝原型对象。以系统中已存在的一个对象为原型,直接基于内存二进制流进行拷贝,无需再经历耗时的对象初始化过程(不调用构造函数),性能有较大提升。 原型模式主要包含三个角色: 客户 (Client):客户类提出创建对象的请求。 抽象原型 (Prototype):规定拷贝接口。 具体原型 (Concrete Prototype):被拷贝的对象。 对不通过 new…

2020-03-01 0条评论 1618点热度 0人点赞 SilverLining 阅读全文

不用设计模式并非不可以,但是用好设计模式能帮助我们更好地解决实际问题。设计模式最重要的是解耦。有些设计模式其实我们每天都在用,但自己却没有明确的感知。学习设计模式就是学习如何总结经验的,把经验为自己所用,也是锻炼将业务需求转换技术实现的一种非常有效的方式。

2020-02-25 0条评论 1491点热度 0人点赞 SilverLining 阅读全文

# 前言 设计原则是对软件工程中常见的设计模式的抽象,可以指导我们设计出更加优雅的代码结构。 七大设计原则: - 开放封闭原则 - 依赖倒置原则 - 单一职责原则 - 接口隔离原则 - 迪米特法则(最少知道原则) - 里式替换原则 - 合成复用原则

2020-02-23 0条评论 1633点热度 0人点赞 SilverLining 阅读全文

容器技术的兴起 从 2013 年 Docker 项目发布开始算起,这次变革也不过短短 5 年时间。容器技术这样一个新生事物,完全重塑了整个云计算市场的形态。它不仅催生出了一批年轻有为的容器技术人,更培育出了一个具有相当规模的开源基础设施技术市场。 就在这场因 “容器” 而起的技术变革中,Kubernetes 项目已然成为容器技术的事实标准,重新定义了基础设施领域对应用编排与管理的种种可能。 那么,“容器” 到底是什么呢? “容器” 这个概念从来就不是什么新鲜的东西,也不是 Docker 公司发明的。即使在当时最热门…

2019-03-17 0条评论 966点热度 0人点赞 SilverLining 阅读全文
12