我的目标是创建一个基于纯域驱动设计的系统.据我所知,这意味着我的域对象应该有行为而不是形状.也就是说,他们不应该有任何吸气剂或其他访问者.
与此同时,我正在尝试遵循TDD流程,并遇到了我正在尝试编写测试的绊脚石.
[Test]
public class new_purchase_order_should_have_purchase_ordernumber_of_1
{
PurchaseOrder po = PurchaseOrder.CreatePurchaseOrder()
Assert.AreEqual(1,po.PurchaseOrderNumber);
}
public class PurchaseOrder
{
private int _purchaseOrderNumber;
static CreatePurchaseOrder()
{
_purchaseOrderNumber = SomeWayOfGettingAPONumber()
//other initialisation
}
public int PurchaseOrderNumber {get { return _purchaseOrderNumber;}
}
Run Code Online (Sandbox Code Playgroud)
如果不允许使用getter,如何验证CreatePurchaseOrder()方法是否正确运行并将值设置为1.
在尝试实现这个设计时,这对我来说是一个很大的概念障碍,因此任何建议都非常有用.
谢谢