在领域设计:聚合与聚合根一文中,提到了两个导致设计与代码脱节的情况: 代码未反映出软件架构:架构图说的是一回事,代码说的却是另外一回事 设计的表现力不足:设计没有体现出某些约束,需要阅读代码实现才能清楚具体的内容 领域设计:聚合与聚合根通过淘宝购物的例子说明了「设计的表现力不足」的问题。本文将通过《 ...
分类:
其他好文 时间:
2020-12-18 12:20:01
阅读次数:
3
在系统架构中引入了消息队列时,出发点有很多。下面记录一些这方面的思考。什么是消息队列计算机科学里,消息队列和邮箱都是被用于进程间通信或同一进程内线程间通信的软件工程组件。它们使用队列传递报文-控制权或内容的通过。上面是维基百科的解释,大概是消息队列产生的最初原因。它是两个独立资源之间的桥梁,避免了资源之间的直接依赖及相互影响。消息队列的两个主要元素是:消息和队列。消息:独立的资源之间沟通内容的载体
分类:
其他好文 时间:
2020-12-18 12:17:07
阅读次数:
2
最近在看项目代码的时候, 看到需要判断的地方,出现了if的多重嵌套, 甚至是出现了十几层的嵌套, 代码的阅读性非常之差。 简单的举个例子(这里只是两层的嵌套): public class demo { public static void main(String[] args){ Scanner s ...
分类:
其他好文 时间:
2020-12-18 12:13:00
阅读次数:
3
拖拽的实现 在html5还未普及之前,实现元素的拖拽还算是一件比较麻烦的事,大概思路就是监听鼠标移动相关事件,下面是伪代码 odiv.onmousedown = function(ev){ //记录起始位置 } document.onmousemove = function(ev){ //移动目标元 ...
分类:
其他好文 时间:
2020-12-17 12:44:20
阅读次数:
2
前言 本文例子基于 .NET Core 3.1 的编译结果反编译得出结论,不同版本的编译器的编译结果可能不一致,因此本文仅供参考。为节省篇幅和便于阅读,大部分例子只写出编译成的IL等效的C#代码,不直接展示IL。 本文不讨论的内容: Lambda 表达式如何构建表达式树。 闭包的概念。 Lambda ...
分类:
其他好文 时间:
2020-12-17 12:28:32
阅读次数:
2
pojo、dao、service、servletweb、 前端界面文件 JavaEE 的三层结构: 表现层 : 前端界面文件、servlet 业务逻辑层: service层 持久层: dao、 pojo MVC 设计模式 M (model)业务逻辑层: service 、 dao、 pojo C ( ...
分类:
Web程序 时间:
2020-12-17 12:08:25
阅读次数:
2
1、ELK部署 ELK是elasticsearch、kibana、Logstash组合而成的整套解决方案,前面我们使用skywalking时候已经部署好elasticsearch(参见上一篇随笔),接下来只需要安装Logstash和kibana即可 1.1、安装kibana 前面使用的elastic ...
分类:
Web程序 时间:
2020-12-16 13:01:27
阅读次数:
10
https://developers.weixin.qq.com/community/develop/doc/0000021e37c71054356781ba551c00 例子 {"touser":"${OPENID}","msgtype":"text","text":{"content":"本文内 ...
分类:
微信 时间:
2020-12-16 12:49:10
阅读次数:
3
场景 大家如果是做后端开发的,想必都实现过列表查询的接口,当然有的查询条件很简单,一条 SQL 就搞定了,但有的查询条件极其复杂,再加上库表中设计的各种不合理,导致查询接口特别难写,然后加班什么的就不用说了(不知各位有没有这种感受呢~)。 下面以一个例子开始,这是某购物网站的搜索条件,如果让你实现这 ...
分类:
其他好文 时间:
2020-12-15 12:54:09
阅读次数:
6
一、css变量非全局 最近做项目,发现css变量一个有意思的特性,那就是变量作用域非全局。 举个例子,如下html和CSS: <div> <div>测试a</div> <div>测试b</div> <div>测试c</div> </div> .box { --color: red; color: v ...
分类:
Web程序 时间:
2020-12-15 12:26:37
阅读次数:
4