Skip to content
/ ddd-example Public
  • Notifications
  • Fork 37
  • Star 97

Domain Driven Design. Examples focuses on key concept of ddd like Entities, Aggregate root, Repository, Value Objects & ACL.

97 stars 37 forks Branches Tags Activity
Star
Notifications

ketan-gote/ddd-example

Branches Tags

Folders and files

NameName
Last commit message
Last commit date

Latest commit

History

3 Commits

.mvn/wrapper

.mvn/wrapper

order_ddd_example

order_ddd_example

.gitignore

.gitignore

README.md

README.md

Repository files navigation

Domain Driven Design

DDD example focus on Core concept of DDD like

  • Entities
  • Aggregates
  • Repository
  • Value Objects
  • ACL(Anti Corruption Layer)

DDD

Entities

Entities are objects in the domain model that have a unique identity that does not change throughout the state changes of the software. Entities encapsulate both state and behavior. An example of entity could be a Order object that represents and maintains state about a specific order, and implements different operations (add items, add shipping address, add payment details etc) that can be carried out on that order.

Aggregates

A cluster of associated objects that are treated as a unit for the purpose of data changes. External references are restricted to one member of the AGGREGATE, designated as the root. A set of consistency rules applies within the AGGREGATE鈥橲 boundaries.

Repository

Repositories are responsible for retrieving and storing aggregate roots, typically using an Object/Relational Mapping (O/RM) framework.

Value objects

Value objects are objects in the domain model that are used to describe certain aspects of a domain. They do not have a unique identity and are immutable. An example of value object could be a Order Monetory Value.

Properties of value objects:

  • Measures, quantity or describe the things in domain.
  • Identity is based on composition of values.
  • Immutable
  • Compared using all values
  • No Side affect

ACL(Anti Corruption Layer)

Implement a fa莽ade or adapter layer between different subsystems that don't share the same semantics. This layer translates requests that one subsystem makes to the other subsystem. Use this pattern to ensure that an application's design is not limited by dependencies on outside subsystems.

Issues and considerations

  • The anti-corruption layer may add latency to calls made between the two systems.
  • The anti-corruption layer adds an additional service that must be managed and maintained.
  • Consider how your anti-corruption layer will scale.
  • Consider whether you need more than one anti-corruption layer. You may want to decompose functionality into multiple services using different technologies or languages, or there may be other reasons to partition the anti-corruption layer.
  • Consider how the anti-corruption layer will be managed in relation with your other applications or services. How will it be integrated into your monitoring, release, and configuration processes?
  • Make sure transaction and data consistency are maintained and can be monitored.
  • Consider whether the anti-corruption layer needs to handle all communication between different subsystems, or just a subset of features.
  • If the anti-corruption layer is part of an application migration strategy, consider whether it will be permanent, or will be retired after all legacy functionality has been migrated.

Order Example focus on some of the key aspects of DDD such as. Aggregate, Entities, Value Object, Repository

License

Licensed under the Apache 2.0 License.

Enjoy!

About

Domain Driven Design. Examples focuses on key concept of ddd like Entities, Aggregate root, Repository, Value Objects & ACL.

Topics

repository domain-driven-design acl entities value-object ddd-patterns ddd-example aggregate-root

Resources

Readme
Activity

Stars

97 stars

Watchers

5 watching

Forks

37 forks
Report repository

Releases

No releases published

Packages

No packages published

Languages

  • Java 100.0%

Footer

© 2024 GitHub, Inc.

代做工资流水公司北京打印银行流水厦门车贷工资流水兰州代开转账流水湛江开签证工资流水邢台银行流水账开封做银行流水深圳代开工资流水app截图绵阳消费贷流水办理湖州代开银行流水单银川查询流水佛山个人工资流水 样本包头签证银行流水 制作绵阳签证银行流水 代做太原银行流水电子版模板菏泽打银行流水PS南阳工资流水账单样本柳州薪资流水单模板宜昌银行流水修改查询成都转账流水多少钱天津查询工资代付流水石家庄代开企业对私流水衡阳制作车贷银行流水唐山签证工资流水价格湘潭制作企业贷流水佛山工资流水图片兰州查工作收入证明泰州收入证明办理长春打薪资银行流水济南对公流水报价银川代做个人银行流水香港通过《维护国家安全条例》两大学生合买彩票中奖一人不认账让美丽中国“从细节出发”19岁小伙救下5人后溺亡 多方发声卫健委通报少年有偿捐血浆16次猝死汪小菲曝离婚始末何赛飞追着代拍打雅江山火三名扑火人员牺牲系谣言男子被猫抓伤后确诊“猫抓病”周杰伦一审败诉网易中国拥有亿元资产的家庭达13.3万户315晚会后胖东来又人满为患了高校汽车撞人致3死16伤 司机系学生张家界的山上“长”满了韩国人?张立群任西安交通大学校长手机成瘾是影响睡眠质量重要因素网友洛杉矶偶遇贾玲“重生之我在北大当嫡校长”单亲妈妈陷入热恋 14岁儿子报警倪萍分享减重40斤方法杨倩无缘巴黎奥运考生莫言也上北大硕士复试名单了许家印被限制高消费奥巴马现身唐宁街 黑色着装引猜测专访95后高颜值猪保姆男孩8年未见母亲被告知被遗忘七年后宇文玥被薅头发捞上岸郑州一火锅店爆改成麻辣烫店西双版纳热带植物园回应蜉蝣大爆发沉迷短剧的人就像掉进了杀猪盘当地回应沈阳致3死车祸车主疑毒驾开除党籍5年后 原水城县长再被查凯特王妃现身!外出购物视频曝光初中生遭15人围殴自卫刺伤3人判无罪事业单位女子向同事水杯投不明物质男子被流浪猫绊倒 投喂者赔24万外国人感慨凌晨的中国很安全路边卖淀粉肠阿姨主动出示声明书胖东来员工每周单休无小长假王树国卸任西安交大校长 师生送别小米汽车超级工厂正式揭幕黑马情侣提车了妈妈回应孩子在校撞护栏坠楼校方回应护栏损坏小学生课间坠楼房客欠租失踪 房东直发愁专家建议不必谈骨泥色变老人退休金被冒领16年 金额超20万西藏招商引资投资者子女可当地高考特朗普无法缴纳4.54亿美元罚金浙江一高校内汽车冲撞行人 多人受伤

代做工资流水公司 XML地图 TXT地图 虚拟主机 SEO 网站制作 网站优化