所以我现在要开发一个相当酷库中,我会从一个Excel工作表或SharePoint列表中提取数据,然后使用华廷和.NET与C#来执行自动化UI测试不同的浏览器命令。 但是,我遇到了一个大的设计问题在试图封装,未来的命令或测试可能需要产生不断变化的要求。 目前,我有大约5,我需要根据命令参数(存储在Excel或SharePoint列表的字符串)进行独特的行动,但我想很容易使命令的数量扩展,以及进行验证,以确保没有不好的命令。 任何人都可以点我的设计模式,可以帮助我有效,有力,而不是实现这个只是在一个HandleCommand()函数写一个巨大的switch语句正确的方向? 感谢您的帮助了新的程序员了! = d
Answer 1:
看看Command模式来封装命令,并使用工厂模式来创建基于它的名字的命令对象的实例。 工厂可以使用反射来确定哪些命令基于文本创建。
Answer 2:
我同意Builder和工厂方法意义在这里。 你可能不希望由Gamma和共同在“设计模式”一书的描述使用工厂方法基于继承的版本。 只需使用一个静态工厂方法,它采用Command类实例的名称。
文章来源: Design Pattern for C# and invoking different methods based on a string parameter