05单件模式

#经典的单件模式 public class Singleton { private static Singleton uniqueInstance; //一个静态变量持有Singleton类的唯一实例。 // 其他有用的实例变量写在这里 //构造器声明为私有,只有Singleton可以实例化这个类! ...阅读全文

【打怪升级】【微服务】聊聊微服务拆分设计

并不是所有的场景都适合微服务,我理解技术开发者都有一颗追求新技术的心,但是更重要的是业务场景及团队。 关于微服务 微服务架构,说白了就是一种上层体系的演变。从最早的单体架构,到前后分离,SOA,甚至微服务架构,其实它们都在做一件事,并且都朝着一个方向去发展:那就是分而治之!从简! 分而治之有什么好处 ...阅读全文

03装饰者模式

#例子 星巴兹是以扩张速度最快而闻名的咖啡连锁店。因为扩张速度实在太快,他们着急更新订单系统,来匹配他们的饮料供应要求。 ##实现1 继承 购买咖啡时,也可以要求其中加入各种调料,例如:蒸奶,豆浆 很明显,星巴兹为自己制造了一个维护噩梦,如果牛奶的价钱上扬,怎么办?新增一种焦糖调料风味时,怎么办 调 ...阅读全文

02观察者模式

让对象保持消息灵通 #01需求 一个WeatherData对象负责追踪目前的天气状况(温度,湿度,气压)。希望你们能建立一个应用,有三种布告板,分别显示目前的状况、气象统计及简单的预报。当WeatherObject对象获得最新的测量数据时,三种布告板必须实时更新。而且,这是一个可以扩展的气象站,We ...阅读全文

2023 年十大 API 管理趋势

本文探讨了 API 管理在数字化转型中的重要性,以及 API 管理面临的挑战和发展机遇。文章重点介绍了十大 API 管理发展趋势,包括 API 安全性、API 标准化、云端 API 管理解决方案、低代码 API 平台、API 市场、新兴 API 协议、人工智能与 API、开发者体验、API 分析和无 ...阅读全文

01介绍(策略模式)

软件开发: 唯一不变的是变化: 不管设计的多好,随着时间推移,应用必定成长和变更 设计原则: 封装变化:设别应用中变化的方面,把它们和不变的方面分开; (把会变化的部分取出并封装,这样,就可以修改或者扩展这个部分,而不会影响其他不需要变化的部分) 针对接口编程,而不是针对实现编程(接口,实际上就是针 ...阅读全文

行为型:迭代器模式

定义 迭代器模式提供一种方法按顺序访问一个聚合对象中的各个元素,而又不暴露该对象的内部表示。迭代器模式是目的性极强的模式,它主要是用来解决遍历问题。 es6 中的迭代器 JS原生的集合类型数据结构,有Array(数组)和Object(对象),在ES6中,又新增了Map和Set。四种数据结构各自有着自 ...阅读全文

行为型:发布订阅模式

定义 发布订阅模式是基于一个事件(主题)通道,希望接收通知的对象Subscriber (订阅者)通过自定义事件订阅主题,被激活事件的对象 Publisher (发布者)通过发布主题事件的方式通知订阅者 Subscriber (订阅者)对象。 简单说就是发布者与订阅者通过事件来通信,这里的发布者是之前 ...阅读全文

解Bug之路-应用999线升高

前言 监控指标诚然是发现问题于微末之时的极佳手段,但指标往往有其表达的极限。在很多情况下,单独看一个黄金指标并不能表征系统的健康程度,反而有可能被其迷惑,进而忽略相关问题。(本文所提及的Linux Kernel源码版本为4.18.10) Bug现场 某天中午,某应用的999线突然升高。由于是个QPS ...阅读全文

Express实现定时发送邮件

在开发中我们有时候需要每隔 一段时间发送一次电子邮件,或者在某个特定的时间进行发送邮件,无需手动去操作,基于这样的情况下我们需要用到了定时任务,一般可以写个定时器,来完成相应的需求,在 node.js 中自已实现也非常容易,接下来要介绍的是node-schedule来完成定时任务 ...阅读全文

基于SpringBoot实现单元测试的多种情境/方法(二)

本文分享自天翼云开发者社区@《基于SpringBoot实现单元测试的多种情境/方法(二)》, 作者:才开始学技术的小白 1 Mock基础回顾 在上一篇分享中我们详细介绍了简单的、用mock来模拟接口测试环境的方法,具体的使用样例我们再回顾一下: 1.首先是最简单的不需要传参的示例,需要注意的是,可能 ...阅读全文

【外观设计模式详解】C/Java/JS/Go/Python/TS不同语言实现

简介 外观模式(Facade Pattern),也叫门面模式,是一种结构型设计模式。它向现有的系统添加一个高层接口,隐藏子系统的复杂性,这个接口使得子系统更加容易使用。 如果你需要一个指向复杂子系统的直接接口,且该接口的功能有限,则可以使用外观模式。或者需要将子系统组织为多层结构,可以使用外观。 作 ...阅读全文

行为型:观察者模式

定义 观察者模式属于行为型模式,它定义了对象间的一种一对多的依赖关系,当一个对象的状态发生改变时,所有依赖于它的对象都将得到通知,并自动更新。 一种一对多的关系中一称为被观察者也叫目标对象Subject而多则称为观察者对象Observer 观察者模式中通常有两个模型,一个观察者(observer)和 ...阅读全文

项目中如何对XSS统一处理

XSS攻击是什么? XSS攻击是指攻击者利用网站中的漏洞,向页面中注入恶意脚本,从而获取用户的信息或者控制用户的计算机。 举一个通俗的例子,早期使用JSP页面渲染页面的项目,如果将用户名改成nick<alert>1</alert>,则当用户打开页面时,就会弹出一个警告框,而这个警告框可以被恶意脚本所 ...阅读全文

一站式消息管理器

一站式的消息管理器 在网络应用中,消息处理是必不可少的,该文章主要简单介绍一款简单的消息管理器的实现,其具备以下功能: 提供多种消息序列化和反序列化方式,目前支持JDK、ProtoStuff以及JSON,提供其他自定义的序列化/反序列化器插口。 提供多种消息加密/解密,目前支持对称加密:AES、不对 ...阅读全文