原创 阿里DDD項目最佳實踐-COLA 架構總覽

DDD分層架構、六邊形架構、洋蔥圈架構、以及 COLA 架構的核心職責就是要做核心業務邏輯和技術細節的分離和解耦。   在架構思想上,COLA 主張像六邊形架構那樣,使用端口-適配器去解耦技術細節;主張像洋蔥圈架構那樣,以領域爲核心,並通過

原创 Java實體映射工具MapStruct詳解

在軟件架構中,分層式結構是最常見,各層之間有其獨立且隔離的業務邏輯,也因而各層有自己的輸入輸出對象,也就是代碼中見到各種對象,如DO(Data Object)、DTO、Domain Entity(領域實體),這些數據對象之間通常都有很多相同

原创 Martin Fowler大神 - 微服務、貧血模型、重構、敏捷開發方法論

Martin Fowler大神1963年出生在英格蘭的沃爾索耳,並在94年移居到了美國。 而在軟件開發領域,大名鼎鼎的敏捷開發方法論,就是他首創的。 除了被公認爲全球知名的面向對象分析設計、UML、模式等方面的專家,現在還擔任Thought

原创 基於阿里開源的COLA架構和DDD領域驅動設計構建貨物運輸系統

COLA 是 Clean Object-Oriented and Layered Architecture的縮寫,代表“整潔面向對象分層架構”,是來自阿里技術專家的開源項目。目前COLA已經發展到COLA 4.0。 COLA既是框架,也是架

原创 Axon框架快速入門和DDD項目實踐

Axon 框架是基於JVM平臺的開源產品,由Allard Buijze於2009年創立。2017年7月,成立了一家獨立公司AxonIQ,專門與Axon產品合作。 Axon 框架的程序遵循基於領域驅動設計(DDD)思想、命令查詢職責分離 (C

原创 Java程序員的macOS手冊

針對Java程序員而言,開發服務器端程序,程序的運行環境是Linux,在Mac OS X這個Unix上面開發,其實很方便。 本技術專欄幫忙Java程序員,搭建工作環境,如JDK、Maven、IntelliJ IDEA、Docker、虛機、以

原创 推薦IntelliJ IDEA Rainbow Brackets 插件的安裝與使用

  針對於剛剛學習編程的同學來說,Java編程的過程中,會有很多的括號,而且括號還必須得成對出現,那麼這個時候對於很多初學者來說,可能會經常出現多括號或者少括號的問題,而且當代碼稍微複雜一點點的時候就更容易出現這種問題了,尤其是編程習慣不

原创 爲什麼說開源的COLA既是架構也是框架?

COLA 是 Clean Object-Oriented and Layered Architecture的縮寫,代表“整潔面向對象分層架構”,是來自阿里技術專家的開源項目。目前COLA已經發展到COLA 4.0。 COLA既是架構,也是

原创 基於DDD領域建模思想、COLA開源架構和CQRS模式設計和構建貨物運輸系統

2003年,DDD(領域驅動設計)這一軟件開發的方法與願景經由建模專家 Eric Evans 的經典著作Domain-Driven Design: Tackling Complexity in the Heart of Software

原创 領域驅動設計DDD和CQRS架構模式落地實踐

在領域驅動架構中,通常會將查詢和命令操作分開,我們稱之爲CQRS(命令查詢職責分離Command Query Responsibility Segregation)。這張圖是來自Martin Fowler大師的文章CQRS(https://

原创 DDD開源COLA應用架構-實現分離業務邏輯和技術細節

COLA(Clean Object-oriented & Layered Architecture)架構是阿里團隊自主研發的應用架構,目前已經開源( https://github.com/alibaba/COLA )。 在COLA的設計中

原创 Spring Cloud Alibaba微服務實戰

什麼是Spring Cloud Alibaba? 是阿里巴巴結合自身微服務實踐,開源的微服務全家桶。在Spring Cloud項目中孵化,2019年8月1日在Alibaba倉庫發佈了第一個畢業版本。在國內已逐漸成爲Spring Cloud第

原创 如何基於COLA架構快速實現一個CRUD操作

COLA 是 Clean Object-oriented and Layered Architecture的縮寫,代表“整潔面向對象分層架構”,是來自阿里技術專家的DDD開源項目。COLA是一套用於幫助開發人員快速實踐DDD落地的項目架構。

原创 DDD領域驅動設計架構模式:防腐層(Anti-corruption layer)

在微服務(Microservices)架構實踐中,架構設計借用了DDD中的一些概念和技術,比如一個微服務對應DDD中的一個限界上下文(Bounded Context);在微服務設計中應該首先識別出DDD中的聚合根(Aggregate Roo

原创 CQRS架構和Axon框架入門實踐

CQRS(Command Query Responsibility Separation,命令查詢職責分離)最早來自於Betrand Meyer(Eiffel語言之父,OCP提出者)提出的概念。其基本思想在於,任何一個對象的方法可以分爲兩大