- 博客(5)
- 收藏
- 关注
原创 软件设计原则 —— 迪米特原则和合成复用原则
迪米特法则(Law of Demeter)又叫作最少知识原则(Least Knowledge Principle 简写LKP),一个类对于其他类知道的越少越好,就是说一个对象应当对其他对象有尽可能少的了解,只和朋友通信,不和陌生人说话。(百度百科)迪米特法则的初衷在于降低类之间的耦合。由于每个类尽量减少对其他类的依赖,因此,很容易使得系统的功能模块功能独立,相互之间不存在(或很少有)依赖关系。迪米特法则不希望类之间建立直接的联系。如果真的有需要建立联系,也希望能通过它的友元类来转达。因此,应用迪米特法则
2020-10-28 11:38:57 454
原创 Java核心基础之异常处理机制
在开发过程中总会遇到各种各样的异常,比如最常见的空指针异常、数组越界异常等。这些异常是指在方法不能按照正常方式完成时,可以通过抛出异常的方式退出该方法,在异常中封装了方法执行过程中的错误信息及原因,调用方在获取该异常后可根据业务的情况选择处理该异常或者继续抛出该异常。异常直接影响到程序的健壮性和系统的稳定性,而异常的处理机制的好坏也代表着一门计算机语言的健壮性的好坏,Java作为一门有着优秀的健壮性的语言,自然有着完善的异常机制,而作为开发人员了解全面的异常处理机制以及对异常进行良好的处理至关重要。在J
2020-10-27 10:58:31 418 2
原创 使用Spring Boot 编写一个starter
前面我们介绍了Spring Boot的自动装配原理,对原理了解之后,我们可以编写我们自己Starter包,以便于集成自己的项目,Starter命名主要分为两类,一类为官方命名,一部分为自定义组件命名。为了使得命名更为清晰,一般使用下面的两种约定的方式对Starter组件命名。spring-boot-starter-模块名称,比如spring-boot-starter-web,该方式为官方命名格式 模块名称-spring-boot-starter,比如mybatis-spring-boot-starte
2020-10-15 21:14:35 689
原创 SocketIO、Websocket断开重连问题排查方案
用了SocketIO,Websocket好久了,并且在不同的项目上因为网络的复杂程度以及代理的不同出现了各种websocket断开重连的问题。本篇总结websocket使用过程中的断开重连问题,主要是SocketIO使用过程中的问题。首先是在Nginx代理中遇到的问题,因为websocket是由HTTP协议升级为websocket的,因此我们并不能完全像配置HTTP代理那样配置配置websocket的代理,如下为Nginx提供的官方websocket的配置:location /chat/ {
2020-10-14 17:18:50 5790
原创 Yaml map和list配置的使用详解
YAML 语言(发音 /ˈjæməl/ )的设计目标,就是方便人类读写。它实质上是一种通用的数据串行化格式。它的基本语法规则如下大小写敏感 使用缩进表示层级关系 缩进时不允许使用Tab键,只允许使用空格。 缩进的空格数目不重要,只要相同层级的元素左侧对齐即可 # 表示注释,从这个字符一直到行尾,都会被解析器忽略。YAML 支持的数据结构有三种。本篇将会介绍三种数据结构在Spring Boot中的的使用对象:键值对的集合,又称为映射(mapping)/ 哈希(hashes) / 字典(dic
2020-10-14 16:19:41 33487
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人