在我的节目我打电话说做许多改变,以一个文件夹的内容方法,包括:如何将任何文件夹更改投影到新文件夹并保留原始文件?
deleting files/folders,
changing files/folders,
adding files/folders,
adding/deleting symboliclinks/junctions.
这是没有问题为止。但是我想出了将文件夹的最终状态(在所有操作完成后)投影到另一个文件夹的想法,以便原始文件夹保持不变。
仅仅复制文件夹之前申请的操作是不恰当的,因为操作可能会删除大量的数据,那将不得不提前被不必要地复制。所以在我看来,专业程序员肯定不会这样做。
理想我会写这样的(伪代码):
originalFolder.Delete(大量的文件)。新增(一些其他的东西,也许改变一些权限等).ProjectTo(newFolder)
是否有某种设计模式或其他方式可以实现这样的目标?也许有些虚拟文件系统可以在将它实现为独立文件夹之前做些什么?
我知道如何编写扩展方法,我已经写了很多琐碎的人,但我确实需要把正确的道路上如何实现这样的事情。
听起来有点不清楚。你说你希望能够模拟一个文件夹中特定文件的变化,然后在另一个文件夹中实际做出更改。它会选择在其他文件夹中更改哪个文件? – Ocelot20 2012-07-06 12:49:55
您是否只想投影您的更改或原始文件夹的最终状态?因为如果你只想要原始文件夹的最终状态,那么在完成所有操作之后,它会归结为原始文件夹的一个副本... – IvanL 2012-07-06 12:52:03
我想确保原始文件夹永远不会被触摸,所以让我们假设它是只读的。现在我想定义对该文件夹的各种虚拟更改(添加/删除文件/文件夹/链接)。然后,我想在另一个位置创建一个文件夹,该文件夹与文件夹的确切副本一样,如果它是首先修改的。 – cdbeelala89 2012-07-06 12:56:48