结构型:七. 享元模式

享元模式是什么 享元模式:是一种结构型设计模式,它允许你在消耗少量的内存的情况下支持大量的对象。享元模式通过共享多个对象的部分状态来实现上述功能。即是享元模式会将不同对象的相同功能缓存以节省内存。 为什么用享元模式 如果程序中有很多相似...阅读全文

redis随笔

1、八大内存淘汰机制 1)、直接返回错误,不删除任何键 2)、删除过期键 3)、随机删除redis键 4)、随机删除快过期键 5)、根据lru算法删除redis键 6)、根据lru算法删除要过期redis键 7)、根据lfu算法删除re...阅读全文

结构型:五. 桥接模式

桥接模式是什么 桥接模式:桥接是一种结构型设计模式, 可将业务逻辑或一个大类拆分为不同的层次结构, 从而能独立地进行开发。 为什么用桥接模式 对于两个独立变化的维度,使用桥接模式再适合不过了. 桥接模式怎么实现 这里是将computer...阅读全文

网络通信知识地图

我在之前一段时间做过网络通信的系列文章,但是文章还是偏散,没有一个整体脉络,本篇就以知识地图的形式来进行梳理。 知识地图是一种知识导航系统,并显示不同的知识存储之间重要的动态联系。本篇主要就是从更高的视角将之前的文章的结构思路展现出来。...阅读全文

结构型:四. 代理模式

代理模式是什么 代理模式是一种结构型设计模式, 让你能提供真实服务对象的替代品给客户端使用。 代理接收客户端的请求并进行一些处理 (访问控制和缓存等), 然后再将请求传递给服务对象。 为什么用代理模式 在某些情况下客户类不想或者不能访问...阅读全文

结构性:三. 装饰器模式

装饰器模式是什么 是一种结构型设计模式,它允许你将对象放入包含行为的特殊封装对象中来为原对象绑定新的行为。由于目标对象和装饰器遵循同一接口,所以你可以对目标进行多次装饰,最后结果为所有装饰器叠加的行为。 为什么用装饰器模式 需要动态的给...阅读全文

重新讲讲单例模式和几种实现

一、什么讲单例模式 单例模式,最简单的理解是对象实例只有孤单的一份,不会重复创建实例。 这个模式已经很经典了,经典得我不再赘述理论,只给简单注释,毕竟教科书详尽太多。 解决 sonar RSPEC-2168 异味的时候,发现目前业界推荐...阅读全文

戏说领域驱动设计(十七)——实体实战

上一节中讲了实体的一些概念,作为DDD中最为复杂的组件,想用好了还需要在实践中慢慢去摸索,都是摸爬滚打过来的。本章着重演示一些实体相关的代码,通过建立一个基类和通用方法,能让您在开发过程中少写一些重复的代码同时也减少在使用第三方开源框架...阅读全文

结构型:二. 外观模式(facade)

外观模式是什么 外观模式是一种结构性设计模式,它能为程序库、框架或者其他复杂的子系统提供一个统一的高层界面,使子系统更容易使用。外观模式就是聚合多个接口实现,对外只暴露单个接口。隐藏子系统的复杂性。调用方不关心实现步骤。 为什么要用外观...阅读全文

JDK动态代理

动态代理用反射技术、类加载技术以及代码生成技术实现代理逻辑的抽取复用以及代理实例的生成获取。用常规方式无法抽取复用相同的代理逻辑,因为目标方法的调用是不同的,只有通过反射的Method来统一目标方法的调用,进而完成代理逻辑的抽取复用,这...阅读全文

结构型:一. 适配器模式

适配器模式是什么 适配器模式(Adapter Design Pattern)适配器是一种结构型设计模式, 用来将不兼容的接口转换为兼容的接口。适配器可担任两个对象间的转换器, 它会接收对于一个对象的调用, 并将其转换为另一个对象可识别的...阅读全文

创建型:三. 原型模式

原型模式是什么 原型模式是一种创建型设计模式, 使你能够复制已有对象, 而又无需使代码依赖它们所属的类。 为什么要用原型模式 可以帮助我们优雅地创建对象的拷贝。在这种设计模式里面,将克隆某个对象的职责交给了要被克隆的这个对象。被克隆的对...阅读全文

创建型:二. 生成器模式

生成器模式是什么 生成器模式也叫做建造者模式,是一种创建型的设计模式, 使你能够分步骤创建复杂对象。 为什么要用生成器模式 假设有这样一个复杂对象, 在对其进行构造时需要对诸多成员变量和嵌套对象进行复杂的初始化工作。这些初始化代码通常深...阅读全文

重新认识受控和非受控组件

作者:霜序 校稿:袋鼠云数栈前端团队运营小组 该文章包含如下内容 受控与非受控组件 非受控组件 受控组件 受控和非受控组件边界 反模式 解决方案 前言 在 HTML 中,表单元素(<input>/<textarea&g...阅读全文

创建型:一. 单例模式

单例模式是什么 单例模式是一种创建型设计模式:单例模式保证一个类仅有一个实例,并提供一个访问它的全局访问点。 为什么要用单例模式 为什么要用单例模式?在系统中某些对象,我们只需要一个全局的,如果每次实例化会浪费资源。所以单例模式可以节约...阅读全文

戏说领域驱动设计(十四)——补遗

写了好几章的东西,再回头读的时候发现有些内容写的不理想,没有表达出自己所想要表达的意思。这次写一个补遗,把我认为需要重新解释和着重说明的内容再唠一唠。反正我多说两句,您就可以多理解一些。按此等形式,我感觉下次应该找个小弟当副编辑,专门用...阅读全文

整合SSM框架

9、整合ssm框架 9.1、环境要求 环境: IDEA MySQL 5.7.19 Tomcat 9 Maven 3.6 要求: 需要熟练掌握MySQL数据库,Spring,JavaWeb及MyBatis知识,简单的前端知识; 数据库环境...阅读全文

从面向对象解读设计思想

对于面向对象概念性的介绍与理解当前网上已经有很多了,但却很少有人能讲出怎样用好面向对象,也就是如何用面向对象的思想设计出好的程序。所以本文将侧重“设计”二字来讲述这个问题。 ...阅读全文

设计模式学习记录

最近在维护一个旧项目,看到里面的很多代码,太杂太乱了。当时因为赶工代码也没有任何设计模式可言。紧赶慢赶的把功能实现了。所以现在维护代码就很难受。而且刚做java那会学的java设计模式,现在也忘得差不多了,于是趁着疫情封闭在家,把设计模...阅读全文

设计模式之单例模式

介绍: 所谓单例设计模式,就是采取一定的方法保证在整个软件系统中,对某个类只能存在一个对象实例,并且该类只提供一个取得其对象实例的方法(静态方法)。 比如Hibernate的SessionFactory,它充当数据存储源的代理,并负责创...阅读全文