惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

B
Blog
Microsoft Security Blog
Microsoft Security Blog
Jina AI
Jina AI
博客园 - 叶小钗
J
Java Code Geeks
博客园 - 聂微东
博客园 - 司徒正美
大猫的无限游戏
大猫的无限游戏
阮一峰的网络日志
阮一峰的网络日志
V
V2EX
美团技术团队
WordPress大学
WordPress大学
M
MIT News - Artificial intelligence
雷峰网
雷峰网
酷 壳 – CoolShell
酷 壳 – CoolShell
GbyAI
GbyAI
罗磊的独立博客
T
The Blog of Author Tim Ferriss
aimingoo的专栏
aimingoo的专栏
T
Tailwind CSS Blog
The Cloudflare Blog
Stack Overflow Blog
Stack Overflow Blog
N
Netflix TechBlog - Medium
小众软件
小众软件

博客园 - bmrxntfj

通过match看rust 聊一聊Rust的enum 折旧记录某旅纵横app分析研究 实现自己的js框架 实现自己的Linq to Sql 统一的仓储接口 浅谈值对象 分层随想 prototype模式随想 ddd心得 ddd分层感想 小boss随想 论软件的价值 Composite模式随想 DDD书籍介绍 Bmrxntfj.UIMapper界面对象映射 闲来没事,写个老玩意 Strategy与Template Method 规格模式(Specification)
ddd官方终于发布了一个完整的示例
bmrxntfj · 2009-04-23 · via 博客园 - bmrxntfj

有一段时间没去http://www.domaindrivendesign.org/了,再去发现改版了,增加了很多内容

令人高兴的是,官方发布了一个完整的示例http://dddsample.sourceforge.net/

例子就是书中第7章讲的货物运输

以前都是凭着对ddd的理解来组织代码,看到示例,发现有跟自己理解相同的,也有不同的

也看到了一些更好的方法

示例大量应用DI/IOC模式

以前我说仓储应该是internal的  客户应该只能使用service,示例不一样,它是通过在应用层 组织其下层的元素来实现

以前我说infrastructure不应该使用domain中的东西,我认为infrastructure是在最下层,这样会造成循环引用,也不符合分层原则

以前我说一些基类、接口比如:IEntity,应该放在Infrastructure中,示例不一样,它是放在domain,考虑到它是用hibernate做持久化而且应用并不是很复杂也说

得过去,但是我感觉还是不好

它使用的Specification(规格模式)比我想象丰富多了,这是我的不足

还有一点,看到它对domain service与application service的划分,以前我一直分不清,现在我明白了,原来是我一直遵守的我所认为的那个原则束缚了我(仓储应该是internal的  客户应该只能使用service)

如果大家有兴趣,就去看看这个示例,还有它在yahoo的讨论,也值得看看http://tech.groups.yahoo.com/group/domaindrivendesign/message/11698