刚过的这周,慢慢恢复自己写代码的能力,当然,重要的是能够做单元测试和OOD和OOP的能力。
尽管需求和接口有很多的设计缺陷,但是我扔可以设计有一个相对扩展性的代码。
而且,对于Web服务的调用也更加地熟练:1)直接添加引用;2)勾选是否生成异步方法等选项;3)设定好命名空间,点击确定。4)对于以DataTable作为Web服务接口的设计来说,已经跟不上时代的潮流了,但也可以容忍,自己重新顶一个领域模型接口即可。
爬虫的那个公共模块,也一直在改造与完善,想想当初我抽象出一个IPostString的接口,一个string GetConstructString(string htmlSource)的方法,但是很迷惑,不知道怎么传递参数,以致于每次都返回一个拼了一半的字符串,然后再继续拼。
/// <summary>
/// 回发的字符串
/// </summary>
public interface IPostString
{
string GetConstructPostString(string source);
}
当然,我那天顺手添加了一段Attributes 之后,就完全不用担心拼的问题了,体会到设计与重构的甜头,当然,在有经验的高手看来,很幼稚,对我来说,必不可少。
/// <summary>
/// 回发的字符串
/// </summary>
public interface IPostString
{
string GetConstructPostString(string source);
Dictionary<string, string> Attributes { get; set; }
}
第一次尝试使用异步调用,虽然以前都知道一个异步模型,但还没有使用过。这次练习,算是让我对异步变成有了整体的认识。网络好文。
顺便,还学习了桥模式和半同步办异步模式;
对应抢票和抢需求的过程,熟练掌握了线程池地使用以及Work Thread线程内读写UI的方法。
认真地对待这些小问题,然后就慢慢地有了更多的收获,这是持久战的哲学,我坚信!