在我最近的一个项目中,我已经达到了一个很好的阶段,那里有相当多的工作,但没有什么是不能轻易改变/修改的。我现在被要求为我的程序添加..如何描述这个..不同的“模式”,例如;
- 地图视图模式,其中程序更多是图形显示,一切都基于绘制到地图/其他显示器上。
- 一种数据网格模式,其中程序更多地基于文本等。
我可以将这些信息存储在一个变量中,例如,即使是一个包含“map”或“datagrid”的字符串,程序也会根据这个或一个枚举创建 gui/它的进程,尽管这意味着我需要移动一些东西我想多了一点。
public string mode;
// then use dropdowntools to set this to "map" or "datagrid"
public enum mode
{
map,
datagrid
};
// again use dropdowntools
我是否最好将我的 UI 编码/表单的主要部分移动到 2 个单独的类,一个用于地图,一个用于数据网格,并根据用户的选择和不可避免的变量创建它们?
我已经在大多数用户可以更改这些选项的应用程序中看到了这一点,但从未见过编码它的最佳实践。
目前我已经考虑过这样安排;
public void pollDevices()
{
if (mode == "Map")
{
timer = new System.Timers.Timer(500);
for (int i = 0; i <= mDevices.Count - 1; i++)
{
IDeviceInterface deviceToPoll = mDevices[i];
timer.Elapsed += delegate { deviceToPoll.connect(deviceToPoll, this, exit); };
}
timer.Enabled = true;
}
else if (mode == "Datagrid")
{
}
}
但是我最好将不同模式的代码块移动到其他类中,从 mainGUI 调用这些,这样它更整洁更容易阅读吗?
public void pollDevices()
{
if (mode == "Map")
{
//call method in map class that does this stuff.
}
else if (mode == "Datagrid")
{
//call method in datagrid class that does this stuff
}
}
如果有人对他们将如何做这类事情有任何意见,那将是一个很大的帮助。如果您需要我提供任何进一步的信息,请询问。