假设我想实现被动视图设计模式。我有一个包含列表框的视图(将来我可能会与列表视图或其他东西交换)。现在,使用被动视图应该使视图尽可能地愚蠢。可以说我想更改选择。我将把这个逻辑放在演示器中,因此我在视图界面中添加一个属性来获取和设置视图列表框的 SelectedIndex 属性。但是,如果我将来想用列表视图交换列表框,我就有麻烦了,因为列表视图没有 SelectedIndex 属性。然后我是否在视图中实现一些逻辑(基本上使它不那么愚蠢),例如:
public int SelectedIndex
{
get
{
if (myListView.SelectedIndices.Count > 0)
{
return myListView.SelectedIndices[0];
}
return -1;
}
}
或者我是否在视图和演示者之间放置了某种适配器。什么是最合乎逻辑的方法?