好的,我有这个小程序可以标记(如 ID3v2.4 等)一些音乐文件。现在我希望用户可以选择移动和/或重命名那些标记文件,如果他/她愿意的话。
考虑到我试图在这个系统中保持一个相当干净和松散耦合的设计(尽管可扩展性在这里并不是很重要,它只是有趣),你可以调用 someFileInfoObject.Move(someWhere)
其中 someWhere
是应用的模式,或者实现某些类是否明智 - 也许是 MoveFileStrategy、RenameFileStrategy(我知道在某些系统中移动/重命名可以被认为是相同的,但我希望它们单独启用)- 确定目标以及在调用 Apply(FileInfo file)
方法时是否应应用策略。
如果您认为某些策略类可能有用,您对好的实现策略有什么建议吗?
如前所述,过度工程在这里并不是真正的问题,因为它是一个有趣的项目,主要目标是获得一些编程和工程实践。 :)
最佳答案
在我的脑海中,建立在@S.Lott 的基础上,让命令本身保持简单和原子性,并创建一个命令队列。 UI将命令加入队列,程序依次执行命令。
此外,您可以保留(纪念品)已执行的命令并提供撤消工具。
关于c# - 我应该只移动文件还是创建一个移动它的类?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/185447/