2011-06-22 25 views

回答

2

它可以帮助您避免重复的代码。例如,在博客上,您可能想要在每个页面上显示标签列表。你可以做到这一点的一种方法是给每个视图模型添加一个List<Tag>属性。或者,您可以使用List<Tag>属性创建一个BaseViewModel以节省使用相同属性混淆视图模型的情况。

从这:

class HomeViewModel 
{ 
    public List<Tag> Tags { get; set; } 
} 

class PostsViewModel 
{ 
    public List<Tag> Tags { get; set; } 
} 

要这样:

abstract class BaseViewModel 
{ 
    public List<Tag> Tags { get; set; } 

    public BaseViewModel() 
    { 
     Tags = GetTagsFromSomewhere(); 
    } 
} 

class HomeViewModel : BaseViewModel { } 
class PostsViewModel : BaseViewModel { } 

希望这有助于。

相关问题