andrzejkupczyk / ddd-building-blocks
领域驱动设计组件实现
v3.0.0
2021-01-02 13:25 UTC
Requires
- php: ^7.4 || ^8.0
- andrzejkupczyk/ddd-generic-subdomain: ^1.0
- beberlei/assert: ^3.3
- myclabs/php-enum: ^1.7
- ramsey/uuid: ^4.1
Requires (Dev)
- phpspec/phpspec: ^7.0
Provides
README
这个仓库帮助我实验领域驱动设计(DDD)方法。
所有实现都受到书籍、由Nicolò Pignatelli创建的值对象库、SeedStack Java开发栈、ValueObjects工具包和一些其他更直接来源的启发,但主要还是我的经验和需求。
我应该使用这个库吗?
尽管这个包可以作为通用子域来减轻项目核心域的负担,但它作为一个例子开发,可能无法完全反映你的领域。因此,你最好使用DDD Generics包提供的接口来编写自己的DDD组件,以迫使团队成员或你自己以不可变对象及其交互的方式思考。
安装
使用Composer
composer require andrzejkupczyk/ddd-building-blocks
示例用法
<?php namespace Brunswick\Billiards\Table; use WebGarden\Model\ValueObject\Number\Natural; final class Size extends Natural { protected static function validate($feet) { return parent::validate($feet)->between(7, 9); } }