前言 本文来总结回顾一下之前学习的 26 中设计模式。 在正文开始之前,先抛出一个问题:我们为什么要学习设计模式? GoF 的设计模式是 Java 基础知识和 J2EE 框架知识之间一座隐性的"桥" 设计模式和 J2EE 在思想和动机上是一脉相承的,我总结了以下几个原因: 设计模式更抽象。 J2EE 是具体的产品代码,我们在日常工作中就可以接触到,而设计模式在对每个应用时才会产生具体代码; 设计模式是比 J2EE 等框架软件更小的体系结构, J2EE 中许多具体程序都是应用设计模式实现的。当你深入到 J2EE 的内…

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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