1

因此,我目前正准备开发一个相当酷的库,我将从 Excel 工作表或 Sharepoint 列表中提取数据,然后使用带有 C# 的 WatiN 和 .NET 来执行各种浏览器命令以进行自动化 UI 测试。但是,在尝试封装未来可能需要生成的命令或测试的不断变化的需求时,我遇到了一个很大的设计问题。目前,我有大约 5 个需要基于命令参数执行的独特操作(以字符串形式存储在 Excel 或 Sharepoint 列表中),但我想轻松地使命令数量可扩展并执行验证以确保没有错误的命令。任何人都可以为我指出正确的设计模式方向,它可以帮助我有效且稳健地实现这一点,而不仅仅是在 HandleCommand() 函数中编写一个巨大的 switch 语句?感谢您帮助新程序员!=D

4

2 回答 2

4

查看命令模式以封装命令并使用工厂模式根据其名称创建命令对象的实例。工厂可以使用反射来根据文本确定创建哪个命令。

于 2012-06-08T21:05:26.820 回答
0

我同意 Builder 和 Factory Method 在这里有意义。您可能不想使用 Gamma 和 co 在“设计模式”一书中描述的基于继承的工厂方法版本。只需使用以 Command 类的名称进行实例化的静态工厂方法。

于 2012-06-09T13:08:17.247 回答