1。C#所有类型都继承自object类型,所以只要实现对object的版本控制就能保证对其他类型同样具有这种能力。
2。采用.net的反射机制可以得到运行时具体对象的类型信息,包括所有字段和方法。Diffinfo类以字段为最小单位记录某一对象不同版本间的差异。
3。VersionController类包含一个HeadVersion类型的对象和一个BranchVersion类型的对象集合。Head版本的对象及其信息被存储在HeadVersion中,用户可以决定在任意时刻从当前的Head版本开辟一个分支,该分支被加入到BranchVersion的对象集合中。HeadVersion和BranchVersion都继承自CommonVerision。
4。用户通过VersionController实现对当前版本对象或某一分支对象的操作(对于分支需指定其分支name)每次决定step version时,HeadVersion或BranchVersion对版本号自增,并将差异信息存储在一个DiffInfo类型的对象集合中。HeadVersion和BranchVersion都保留一个被创建时的original对象版本,这里的差异信息是以这个版本为参照系。
5。通过VersionController还可以建立tag标记,即为HeadVersion或BranchVersion的CurrVersion拍一张快照,并指定一个名称存储在一个tagList中,当然tag也可以从tagList中删除。通过VersionController还可以查询版本信息。 存在问题示例:
posted on 2006-01-21 20:32 Roger的Blog 阅读(787) 评论(0) 编辑 收藏
Powered by: BlogJava Copyright © Roger的Blog