所以我有一个数据库(sql)管理程序,我一直在处理,处理我公司销售的项目。对于程序的主要部分,项目信息在用户使用一些自定义控件时更新。一切正常。但现在我进入程序的更高级别部分,即添加/删除/复制项目。这不能像动态更新一样,就像编辑项目信息一样,因为它太容易搞砸了。所以我基本上想要设置一个文件 - >在这里保存他们的交易类型。我如何看待这个工作是在列表中创建所有sql命令,然后在保存时运行它们。
此处可用的功能包括添加新项目,删除项目,从其他项目复制以及重命名。
所以这将是一个列表:
insert...
update...
update...
delete...
update...
etc.
它将贯穿并执行所有命令。我遇到的问题是我已经有一个类,它有方法来处理所有这些函数。我想不出一种在队列中调用所有这些方法的方法,并且在另一个类中重写所有sql语句对我来说似乎很愚蠢。有没有办法让我记住一个类似的列表:
item.Rename()
item.ChangeSize()
item.Delete()
我觉得我正在思考这个...或者可能是不知道......我不知道。
答案 0 :(得分:6)
您要找的是Command Pattern
。
基本思路是你有一个ICommand
接口,它有一个方法Execute()
然后,您实施多个ConcreteCommand
,例如带有参数化构造函数或属性RenameCommand
的{{1}}。
不要忘记相应地处理异常,也可以实现撤销方法,如果这些可能发生的话。我不太了解你的申请在这里作出假设。
NewName