我为什么喜欢DDD

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

<p>[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);
}
<p>

<p>[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");
}
<p>

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

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

    

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

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

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

[该贴被willem于2008-06-20 08:42修改过]

forest3000
2008-06-20 09:57
什么书啊,能否推荐一下啊?

bmrxntfj
2008-06-24 13:15
Addison.Wesley.Applying.Domain.Driven.Design.and.Patterns.With.Examples.in.C.Sharp.and.dot.NET.May.2006.chm

lz读的是这个。

猜你喜欢
2Go 1 2 下一页