alibaba / COLA

🥤 COLA: Clean Object-oriented & Layered Architecture
GNU Lesser General Public License v2.1
11.97k stars 3.08k forks source link

几点个人看法: #224

Closed tianzhonghai closed 2 years ago

tianzhonghai commented 3 years ago

1、Demo过于简单,不具参考性;里面的类组织有些乱。 2、Gateway容易让人误解为SpringCloud ApiGateway 3、充血的领域模型还是没有体现出来,比如聚合根,EventSource。还是领域对象的事务,领域对象的数据填充与Performance。比如我只要一个字段,难道每次都要查一整个对象?

wwyy456258 commented 3 years ago

附议1 3两个点

chifuqi commented 3 years ago

附议,看完IDDD后,再看DEMO仍然觉得一头雾水,主要是聚合对象特别是聚合对象存在集合的情况下,框架如何创建、更新? 感谢

VbiosWen commented 3 years ago

1、Demo过于简单,不具参考性;里面的类组织有些乱。 2、Gateway容易让人误解为SpringCloud ApiGateway 3、充血的领域模型还是没有体现出来,比如聚合根,EventSource。还是领域对象的事务,领域对象的数据填充与Performance。比如我只要一个字段,难道每次都要查一整个对象?

感觉就是将一个大的 service 拆分成各个小的 exe,并没有体现 DDD 领域设计。

itdotaer commented 3 years ago

同感,samples有点粗糙了。领域层的业务实践细节太少了

SnailDev commented 2 years ago

同感,samples有点粗糙了。领域层的业务实践细节太少了

zhao-staff-officer commented 2 years ago

主要是分层架构设计,组件功能根据项目选择用吧!!

Degenerateman commented 2 years ago

demo中app包下的service没看懂,是要体现防腐层还是啥? ATAMetricQryExe跳过domain直接访问mapper,是不是和DDD冲突了

zhangucan commented 2 years ago

1、Demo过于简单,不具参考性;里面的类组织有些乱。 2、Gateway容易让人误解为SpringCloud ApiGateway 3、充血的领域模型还是没有体现出来,比如聚合根,EventSource。还是领域对象的事务,领域对象的数据填充与Performance。比如我只要一个字段,难道每次都要查一整个对象?

关于第三点,应该还是聚合设计太过臃肿。需要根据业务,设计小聚合。另外,把值对象用起来,每次持久化可以只保存值对象。

zhangucan commented 2 years ago

附议,看完IDDD后,再看DEMO仍然觉得一头雾水,主要是聚合对象特别是聚合对象存在集合的情况下,框架如何创建、更新? 感谢

需要看业务设计。可以新增实体,在实体里记录聚合根的ID,也可以实现1对多。或者把聚合对象 换成值对象引用,值对象的创建更新使用聚合根来操作。

yhnnhyyhnn commented 2 years ago

同感,看完DEMO后,没有感觉到DDD的优势在哪里。

significantfrank commented 2 years ago

COLA是应用架构,不是DDD架构哈,后续我会补充更多的sample进来

Aoterr commented 2 years ago

DDD 的充血模型 COLA 是没有体现出来吗?