0

假设您的域实体中有一个 Status 属性。该属性用于了解对象的系统状态,在表示层必须以只读方式使用。该层不能直接修改状态属性。相反,一种应用程序服务具有更改状态的特定操作。

有没有办法使表示层的状态属性只读但应用程序服务可写?或者我只是以错误的方式建模?我正在使用.NET。

4

1 回答 1

0

最佳实践是将表示模型与域模型分离。具体来说,创建一个视图模型并将 UI 绑定到该模型,而不是直接绑定域对象。可以通过将域对象传递给构造函数来初始化视图模型。例子:

class SomeEntity
{
 public string Status { get; set; }
}

class SomeEntityViewModel
{
 public SomeEntityViewModel(SomeEntity e)
 {
  this.Status = e.Status;
 }
 public string Status { get; private set; }
}

这样,应用程序服务可以更改状态,但视图不能直接这样做。

于 2013-04-18T19:55:04.330 回答