在DDD中,为什么他们经常使用方法而不是属性?

Rob*_*ssa 4 c# domain-driven-design

在DDD示例中,我经常看到使用方法,我可能会使用属性.为什么是这样?

例如(来自强化您的域名:聚合构建)

public class Order
{
    public bool IsLocal()
    {
       return Customer.Province == BillingProvince;
    }
}
Run Code Online (Sandbox Code Playgroud)

Pio*_*rak 8

选择方法而不是属性的一个理由是,当有任何代码可以执行某些操作时.如果它只返回一些内部字段值,则使用property.如果它内部有任何逻辑或进行任何计算使用方法.这使得代码客户端更清楚,当您调用此方法时会发生某些事情.

我想我已经通过CSharpCLR中读到微软后悔制造DateTime.Now一个属性而不是方法.每次调用它都会返回新值.那应该是方法而不是财产.