• 抢票设计


      刚过的这周,慢慢恢复自己写代码的能力,当然,重要的是能够做单元测试和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的方法。

      认真地对待这些小问题,然后就慢慢地有了更多的收获,这是持久战的哲学,我坚信!

  • 相关阅读:
    mysql同步之otter/canal环境搭建完整详细版
    Linux安装aria2
    mysql多源复制(多主一从)配置
    分布式调度框架TBSchedule使用方法
    hbase shell插入根据条件查询数据
    hive内部表&外部表介绍
    Canal( 增量数据订阅与消费 )的理解及应用
    tidb入门
    ES命令
    java8新特性
  • 原文地址:https://www.cnblogs.com/pengzhen/p/3576954.html
Copyright © 2020-2023  润新知