我为什么喜欢DDD

真要问我为什么, 我会很激动. 像某天发现一位你心动的女孩(不好意思有点俗).刚接触DDD,有种相见恨晚的感觉.如果用它来组织分层系统,最终的写出来的代码,就像看文章一样, 流畅,自然,一看就明白(当然要真正的高手才能做到).一句话:真正做到了OO. 当然也有不适合用DDD的情况.先不管这个,请欣赏代码:(各位对不住,这是C代码)


[Test]
public void CantSetTooHighCreditLimitForCustomer()
{
Customer newCustomer = _CreateACustomer("Ronneby');

//Inject a stubbed version of CreditService
//that won't allow a credit of more than 300.
newCustomer.CreditService = new StubCreditService(300);

newCustomer.CreditLimit = 1000;

Assert.IsFalse(newCustomer.HasOKCreditLimit);
}




[Test]
public void CanIterateOverOrderLines()
{
Customer newCustomer = _CreateACustomerAndAnOrder
("Ronneby", 420);

Order newOrder = (Order)_repository.GetOrders
(newCustomer)[0];

foreach (OrderLine orderLine in newOrder.OrderLines)
return;

Assert.Fail(
"I shouldn't get this far");
}

[该贴被willem于2008-06-19 16:26修改过]
[该贴被willem于2008-06-19 16:27修改过]

很不错,你很好地展示了使用OO思考和画图以及代码,多么自然统一,又多么直白,向心仪的女孩表白就要明白无误,让对方直接明白,而不是使用数据库语言拐弯说话,这样女孩大概只有先去学数据库才能明白你的意思?

我们很多搞需要分析的都是某个领域的业务专家,不可能要求他们都学会关系数据库再来进行需求分析,这是很荒谬可笑的,就是这样可笑的方式还在中国现实盛行,真不知道怎么回事。

这是我从一本书上摘录下来的,是教你如何应用DDD, 很值得期待,不过还没有中文版, 等不急了先看英文版,一堵为快.
[该贴被willem于2008-06-20 08:42修改过]

什么书啊,能否推荐一下啊?

Addison.Wesley.Applying.Domain.Driven.Design.and.Patterns.With.Examples.in.C.Sharp.and.dot.NET.May.2006.chm
lz读的是这个。

还是没有看懂