Skip to content
@ddd-4-java

DDD-4-Java

๐Ÿ›๏ธ DDD ๆžถๆž„ for Java โ€”โ€” ้ขๅ‘ Java ็”Ÿๆ€็š„้ข†ๅŸŸ้ฉฑๅŠจ่ฎพ่ฎก๏ผˆDDD๏ผ‰/ CQRS / ไบ‹ไปถๆบฏๆบ๏ผˆEvent Sourcing๏ผ‰ๅทฅ็จ‹ๅŒ–ๅŸบ็ก€ๆž„ไปถ๏ผŒidiomatic Java ๅฎž็Žฐ ddd4j ๅ…จๅฎถๆกถใ€‚

DDD-4-Java

DDD-4-Java

้ขๅ‘ Java ็š„้ข†ๅŸŸ้ฉฑๅŠจ่ฎพ่ฎก๏ผˆDDD๏ผ‰ๅŸบ็ก€ๆž„ไปถๅบ“ โ€”โ€” ่ฎฉ DDD / CQRS / Event Sourcing ๅœจ Java ็”Ÿๆ€ไปฅๅทฅ็จ‹ๅŒ–ใ€่ง„่ŒƒๅŒ–ใ€ๅฏๅค็”จๆ–นๅผ่ฝๅœฐ

Repos Rust Counterpart Ecosystem License


ๅ…ณไบŽๆˆ‘ไปฌ

DDD-4-Java ๆ˜ฏ partme-ai ๅผ€ๆบ็”Ÿๆ€ๆ——ไธ‹็š„ DDD ๆžถๆž„ๅŸบ็ก€ๆž„ไปถ็ป„็ป‡๏ผŒไธ“ๆณจไบŽไธบ Java ็”Ÿๆ€ๆไพ›้ข†ๅŸŸ้ฉฑๅŠจ่ฎพ่ฎก๏ผˆDDD๏ผ‰/ CQRS / ไบ‹ไปถๆบฏๆบ๏ผˆEvent Sourcing๏ผ‰ ็š„ๅทฅ็จ‹ๅŒ–ๅŸบ็ก€็ป„ไปถใ€‚

ๆˆ‘ไปฌ็š„ๆ ธๅฟƒ็†ๅฟตๆ˜ฏ๏ผš

ๅฐ† DDD ๆ–นๆณ•่ฎบๆฒ‰ๆท€ไธบๅฏๅค็”จ็š„ไปฃ็ ๆž„ไปถ๏ผŒ่ฎฉไธšๅŠกๆžถๆž„ไธๅ†"ๅƒไบบๅƒ้ข"ใ€‚

ๆฏไธชๆž„ไปถ้ตๅพช็ปŸไธ€็š„ๅ‘ฝๅ็บฆๅฎšใ€ๆŽฅๅฃ่ง„่ŒƒไธŽๆ‰ฉๅฑ•็‚น๏ผŒ็กฎไฟ่ทจ้กน็›ฎใ€่ทจๅ›ข้˜Ÿ็š„ๅฏ็งปๆคๆ€งใ€‚

่ฎพ่ฎกๅŽŸๅˆ™

  • ๐Ÿ›๏ธ ๆžถๆž„ไผ˜ๅ…ˆ โ€” Entity / ValueObject / AggregateRoot / Repository ็ญ‰ๆ ธๅฟƒๆŠฝ่ฑกไธฅๆ ผๅฏน้ฝ DDD ่“็šฎไนฆ
  • ๐Ÿงฉ ๅฏๆ’ๆ‹” โ€” ๆŒไน…ๅŒ–ใ€ๆถˆๆฏใ€็ผ“ๅญ˜ๅ‡้€š่ฟ‡ SPI ๆ‰ฉๅฑ•๏ผŒไธ็ป‘ๅฎšไปปไฝ•็‰นๅฎšๆก†ๆžถ
  • ๐Ÿ“ ่ง„่Œƒไธ€่‡ด โ€” ไธŽ ddd-4-rust ไฟๆŒๆŽฅๅฃ็บงๅฏน็ญ‰๏ผŒ่ทจ่ฏญ่จ€ๅ›ข้˜Ÿๅฏๅฏน็…ง้˜…่ฏป
  • ๐Ÿงช ๆต‹่ฏ•ๅ‹ๅฅฝ โ€” ๅ†…็ฝฎ้ข†ๅŸŸไบ‹ไปถๅ›žๆ”พใ€่šๅˆๆ นๅฟซ็…งใ€ๅ‘ฝไปค/ๆŸฅ่ฏขไธ€่‡ดๆ€งๆ ก้ชŒ

ๆž„ไปถ็Ÿฉ้˜ต

ๆ ธๅฟƒไป“ๅบ“

ไป“ๅบ“ groupId ่ฏดๆ˜Ž
ddd4j io.ddd4j ๆ ธๅฟƒ DDD ๆž„ไปถ๏ผšEntity / Aggregate / DomainEvent / Repository / CQRS
ddd4j-boot io.ddd4j.boot Spring Boot ้›†ๆˆ๏ผš44+ Starterใ€auth/cache/data/ddd ็ญ‰ๆจกๅ—
ddd4j-javalin io.ddd4j.javalin Javalin ้›†ๆˆ๏ผšauth/cache/data/ddd ็ญ‰ๆจกๅ—
ddd4j-quarkus io.ddd4j.quarkus Quarkus ้›†ๆˆ๏ผšauth/cache/data/ddd ็ญ‰ๆจกๅ—
ddd4j-ai io.ddd4j.ai AI ๆ ธๅฟƒๅฅ‘็บฆไธŽ็ป„ไปถ๏ผˆ่ง„ๅˆ’ไธญ๏ผ‰

โš ๏ธ ๆ‰€ๆœ‰ไป“ๅบ“ๅ‡ไธบ private โ€”โ€” ๅฝ“ๅ‰ๅชๅฏน็ป„็ป‡ๆˆๅ‘˜ๅฏ่ง๏ผŒๆญฃๅœจ็งฏๆž้‡ๆž„ไธญใ€‚


ๆžถๆž„ๆฆ‚่งˆ

โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
โ”‚                    Interfaces (REST / RPC / CLI)            โ”‚
โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜
                           โ”‚
โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ–ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
โ”‚                Application Layer                             โ”‚
โ”‚   Command / Query / UseCase / Saga                          โ”‚
โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜
                           โ”‚
โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ–ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
โ”‚                  Domain Layer                                โ”‚
โ”‚   Entity ยท AggregateRoot ยท DomainEvent ยท Specification       โ”‚
โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜
                           โ”‚
โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ–ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
โ”‚               Infrastructure Layer                           โ”‚
โ”‚   Repository ยท EventBus ยท EventStore ยท SnapshotStore         โ”‚
โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜

ๅฟซ้€Ÿๅผ€ๅง‹

โš ๏ธ ๅฝ“ๅ‰็Šถๆ€๏ผšๆ‰€ๆœ‰ไป“ๅบ“ๆญฃๅœจ็งฏๆž้‡ๆž„ไธญใ€‚Maven Central ๅฐšๆœชๅ‘ๅธƒใ€‚ๆฌข่ฟŽๅ…ณๆณจ่ฟ›ๅบฆๆˆ–ๅ‚ไธŽๅ…ฑๅปบใ€‚

Maven ไพ่ต–๏ผˆๆš‚ๆœชๅ‘ๅธƒๅˆฐ Maven Central๏ผ‰

ๅฝ“ๅ‰ไป“ๅบ“ๅ‡ไธบ private๏ผŒๆญฃๅœจ้‡ๆž„ใ€‚ๆญฃๅผ็‰ˆๅ‘ๅธƒๅ‰่ฏทๅ‹ฟไพ่ต–ใ€‚

ไธ€ๆ—ฆ้‡ๆž„ๅฎŒๆˆ๏ผŒไผš้€š่ฟ‡ไปฅไธ‹ๆ–นๅผๅˆ†ๅ‘๏ผš

  • Maven Central๏ผšio.ddd4j:ddd4j-core:VERSION
  • JitPack๏ผš็”จไบŽๆ—ฉๆœŸๅฐ้ฒœ็š„ๅฟซ็…ง็‰ˆๆœฌ

่ทŸ่ธช่ฟ›ๅบฆ๏ผšDiscussions ยท ddd4j Issues


็›ธๅ…ณ็”Ÿๆ€

็ป„็ป‡ ่ฏดๆ˜Ž
๐Ÿ›๏ธ ddd-4-rust Rust ็‰ˆๆœฌ๏ผŒๆŽฅๅฃ็บงๅฏน้ฝ
๐Ÿงฐ easy-4-java ไธšๅŠกๅทฅๅ…ท้›†๏ผˆJava๏ผ‰
๐Ÿงฐ easy-4-rust ไธšๅŠกๅทฅๅ…ท้›†๏ผˆRust๏ผ‰
๐Ÿ’พ rbatis-plus ORM ็”Ÿๆ€๏ผˆRepository ๅฎž็Žฐๅฑ‚๏ผ‰
๐Ÿง  partme-ai ้กถๅฑ‚ AI ๆ™บ่ƒฝไฝ“็”Ÿๆ€

่ดก็ŒฎๆŒ‡ๅ—

ๆฌข่ฟŽ่ดก็Œฎ DDD ๅŸบ็ก€ๆž„ไปถ๏ผ

  1. Fork ็›ฎๆ ‡ไป“ๅบ“
  2. ๅˆ›ๅปบ็‰นๆ€งๅˆ†ๆ”ฏ
  3. ้ตๅพชๆ—ขๆœ‰ๅ‘ฝๅ็บฆๅฎšไธŽๆŽฅๅฃ่ง„่Œƒ
  4. ่กฅๅ……ๅ•ๅ…ƒๆต‹่ฏ•ไธŽ้ข†ๅŸŸ็คบไพ‹
  5. ๆไบค Pull Request

้‡ๅคง่ฎพ่ฎกๅ†ณ็ญ–่ฏทๅ…ˆๅœจ Discussions ๅ‘่ตท RFCใ€‚


่”็ณปๆˆ‘ไปฌ


่ฎฉ DDD ๅœจ Java ็”Ÿๆ€ๅทฅ็จ‹ๅŒ–่ฝๅœฐ

Made with โค๏ธ by PartMe AI Team

Popular repositories Loading

  1. .github .github Public

    ๐Ÿ›๏ธ DDD architecture for Java โ€” organization profile (do not delete)

  2. ddd-4-java.github.io ddd-4-java.github.io Public

    ๐Ÿ›๏ธ DDD architecture for Java โ€” organization documentation site

    TypeScript

Repositories

Showing 2 of 2 repositories

People

This organization has no public members. You must be a member to see who’s a part of this organization.

Top languages

Loadingโ€ฆ

Most used topics

Loadingโ€ฆ