我正在寻找能够提供实际课程计划或途径的资源,以鼓励和加强TDD和模拟等编程实践.有很多资源可以显示示例,但我正在寻找一些实际上提供了进展的东西,它允许学习概念而不是强制仿真.
我的主要目标是加快某人理解TDD背后的概念并实际有效实施它们的过程.有这样的免费资源吗?
我有使用二进制序列化为以下类存储的数据:
[Serializable]
public abstract class BaseBusinessObject
{
private NameValueCollection _fieldErrors = new NameValueCollection();
protected virtual NameValueCollection FieldErrors
{
get { return _fieldErrors; }
set { _fieldErrors = value; }
}
...
}
Run Code Online (Sandbox Code Playgroud)
在某些时候,课程改为:
[Serializable]
public abstract class BaseBusinessObject
{
private Dictionary<string, string> _fieldErrors = new Dictionary<string, string>();
protected virtual Dictionary<string, string> FieldErrors
{
get { return _fieldErrors; }
set { _fieldErrors = value; }
}
...
}
Run Code Online (Sandbox Code Playgroud)
这导致了对旧数据进行反序列化的问题.
我的第一个想法是实现ISerializable
,但是这个类有许多属性以及数百个继承类,我也必须实现它.
我想在反序列化期间更改旧数据以匹配当前结构,或者有一种干净的升级旧数据的方法.
我正在修改Windows窗体以允许在UI保持响应的同时在后台加载数据.数据需要花费大量时间来检索和绑定.理想情况下,我会在后台执行这两项工作,但是我在后台应该做什么样的UI更新(如在主线程外部),这有些含糊不清.在后台显示数据检索和数据绑定的一个可靠示例将非常有用.
data-binding user-interface multithreading backgroundworker winforms
我在代码库中处理代码分析警告时遇到了这段代码.我想更改名称,但不是否会导致序列化问题.虽然它看起来像它是可序列化的没有意义,但我只想检查以确保在删除属性之前我没有遗漏某些东西.
[Serializable]
public class FileIsNotReadonlyVerifier : IFileVerifier
{
#region IFileVerifier Members
public void Verify(FileInfo file, FlatFileTrafficSystem system)
{
if ((file.Attributes & FileAttributes.ReadOnly) == FileAttributes.ReadOnly)
{
throw new VerificationException(Resources.VerificationException_FileIsReadonly);
}
}
#endregion
}
Run Code Online (Sandbox Code Playgroud)