原创 DDD之通用語言

定義 在限界上下文之內的每種領域術語,詞組或句子,都可以看做通用語言。它們在同一個上下文中具有唯一確定的含義,在限界上下文之外,它們可能表達不同的含義。所以,我們在確定通用語言時,需要保證它們的含義明確,不模糊。 用途 通用語言是

原创 快速在GitHub搭建一個規範的開源項目(五)

前面我們已經講了如何在GitHub上創建一個團隊,然後規範化開發流程,Issue創建與處理流程,以及如何接入CI和覆蓋率報告。 傳送門: 快速在GitHub搭建一個規範的開源項目(一) 快速在GitHub搭建一個規範的開源項目(二

原创 DDD+CQRS架構如何優雅實現查詢

何爲DDD DDD全稱爲Domain-Driven Design,它是一種軟件設計過程中的一套技術工作集,所以很多人稱它爲DDD-Lite,它包含了實體,值對象,領域,領域服務,領域事件,限界上下文等等諸多概念,就不在本文中給大家

原创 快速在GitHub搭建一個規範的開源項目(四)

前三篇博客 快速在GitHub搭建一個規範的開源項目(一) 快速在GitHub搭建一個規範的開源項目(二) 快速在GitHub搭建一個規範的開源項目(三) 我們已經介紹瞭如何初始一個團隊並且制定了規範的開發流程和代碼提交流程,Is

原创 解決umi+maven打包的問題

umi是阿里的一個 前端框架,maven想要打包umi框架,必須要用到一個maven插件frontend-maven-plugin。但是不知道爲什麼在我的本地指定outputPath輸出路徑時並沒有生效。還是輸出到umi的默認打包

原创 Spring Boot MVC配置實現方案

配置區別 Spring Boot是支持自動配置的webmvc的,我們來看看它的自動配置類。 從這個配置類我們可以看出,一但應用上下文中出現WebMvcConfigurationSupport類,自動配置將不再生效,換句話講就是隻

原创 代碼圈複雜度

定義 圈複雜度 (Cyclomatic complexity) 是一種代碼複雜度的衡量標準,也稱爲條件複雜度或循環複雜度,它可以用來衡量一個模塊判定結構的複雜程度,數量上表現爲獨立現行路徑條數,也可理解爲覆蓋所有的可能情況最少使用的測試用

原创 DDD之領域服務與領域事件

領域服務 領域中的服務表示一個無狀態的操作,它用於實現特定於某個領域的任務。這裏我們要搞清楚什麼樣的操作需要實體,值對象,什麼樣的操作需要採用領域服務。 另外,領域服務不是應用服務,在應用服務中我們不需要處理業務邏輯,業務邏輯都落

原创 解決SpringBoo輸出文檔的title亂碼問題

問題背景 最近橙子開發中遇到一個問題,Spring Boot的輸出文檔內容出現了title亂碼,但是文檔內容並沒有亂碼。效果如下圖所示 橙子目前的項目是採用前後端分離開發的,前端使用的是基於umi封裝的一套框架,後端是採用spr

原创 快速在GitHub搭建一個規範的開源項目(三)

上兩篇博客快速在GitHub搭建一個規範的開源項目(一) 快速在GitHub搭建一個規範的開源項目(二)我們分別講了如何如何初始一個團隊並且制定了規範的開發流程和代碼提交流程以及Issue規範。 這一篇我們來講一下如何規範的在G

原创 快速在GitHub搭建一個規範的開源項目(一)

前言 最近橙子的團隊在研究如何將團隊內部的框架開源出來,以便讓更多的人來參與到我們這幾個框架的建設中來。其實,開源本身是一件非常好的事情。現代IT行業之所以如此快速的發展與開源脫離不了干係。很多人也許都有搭建自己的開源項目,然後發

原创 快速在GitHub搭建一個規範的開源項目(二)

上一篇博客快速在GitHub搭建一個規範的開源項目(一)我們講了如何如何初始一個團隊並且制定了規範的開發流程和代碼提交流程。 這一篇我們來講講如何正確使用Issue。 很多人其實對Issue功能存在誤解,認爲Issue就是用來提交

原创 Spring中FactoryBean的正確用法

FacotryBean Spring中一共有兩種Bean。一種是普通的bean,一種是工廠bean。工廠bean注入到spring中的是其getObject()返回的對象實例。 接下來我們通過兩個例子來講解如何正確的使用Facto

原创 spring data redis快速上手

本文講述如何在spring boot中集成redis,並使用redis進行操作。下一篇我們講redis實戰 maven配置如下: <dependency> <groupId>org.springframework.boot</

原创 Redis常用命令大全

Redis 鍵(key) 基本語法格式:COMMAND KEY_NAME 命令 作用 DEL key 該命令用於在 key 存在時刪除 key。 DUMP key 序列化給定 key ,並返回被序列化的值。