美文网首页
moco代码赏析三

moco代码赏析三

作者: hopelty | 来源:发表于2018-01-29 23:33 被阅读0次

今天看的是作者的第三次提交,这次提交并没有添加哪些实质性的功能,而是重构了一些类和方式的命名,以及对现有的项目结构做了一些调整。之前的实现方式依然存在耦合比较多的情况并且命名方式比较模糊,新的实现方式则是创建了两个新的接口RequestMatcher和ResponseHandler,这两个接口分别代表的是输入时参数的匹配器与返回时的结果处理器。从很直观的看,这次改动会让一个从没看过之前代码的人,可以简单的通过代码的架构和类的命名来看懂这些类的作用以及如何使用这个项目。同时,把之前在MocoServer中的两个方法: withContent()和withUri()放在了Moco类中,并重命名。

    public RequestSetting withContent(String requestContent) {
        return new ContentRequestSetting(this, requestContent);
    }

    public RequestSetting withUri(String uri) {
        return new UriRequestSetting(this, uri);
    }
    public static RequestMatcher eqUri(String uri) {
        return new UriRequestMatcher(uri);
    }

    public static RequestMatcher eqContent(String content) {
        return new ContentRequestMatcher(content);
    }

我认为这两个方法确实不应该属于一个服务器类里,暂时放在了这个程序的入口Moco我觉得只是暂时的策略,后期一定会把这两个方法重构在其他地方。


前面提到的RequestMatcher有两个实现类,分别是ContentRequestMatcher类和UriRequestMatcher类,他们替代了前有的RequestSetting实现类。并且作者将之前并没有实现的match中的逻辑实现了,做到了根据匹配Request中的参数来组装他的Response。谈到组装Response,作者在本次提交中,将原有的实现方式(在MocoHandler全部包办),改成了把writeToResponse()方法分离出来写进ResponseHandler的方式,再由ResponseHandler调用不同实现类中的不同的writeContent()方法,这样实现好处在于,我可以根据调用response()方法时,传入的参数不同而采用不同的策略。


这一次的提交,总体给人的感觉就是更加清晰了,无论是项目的结构还是作者的思路,都让我一个局外人看的更加清楚。

相关文章

  • moco代码赏析三

    今天看的是作者的第三次提交,这次提交并没有添加哪些实质性的功能,而是重构了一些类和方式的命名,以及对现有的项目结构...

  • moco代码赏析十一

    今天来看一下2012.11.7的后三次提交,这三次提交做的事情是比较统一的:用RequestExtractor、C...

  • moco代码赏析十二

    今天要看的是2012.11.8的唯一一次提交,这次提交还是做了很多工作的。 首先,对测试类MocoTest做了重构...

  • moco代码赏析五

    今天来看一下2012.10.30的后三次提交。 提交一:支持了请求时传入一个流 通过stream()方法把流包装成...

  • moco代码赏析六

    今天看的是2012.11.02那天的三次提交,第一次提交加了一些TODO事项,记下了作者接下来要做什么。第二次提交...

  • moco代码赏析四

    对于作者的第四次提交,我们直接从代码的单元测试类入手,来看看做了哪些改动。 以前的调用方式: 现在的调用方式: 我...

  • moco代码赏析十

    接下来看一看2012.11.7的后五次提交。第一次提交,新引入了一个类HttpServer,由MocoHttpSe...

  • moco代码赏析七

    今天看的是2012.11.6的三次提交。 第一次提交作者更改了包名(package name),第三次提交作者更改...

  • moco代码赏析九

    今天来谈一下目前的代码中是如何使用组合模式的。以下是matcher部分的类图和组合模式的类图: Component...

  • moco代码赏析八

    今天来看一下2012.11.7的前四次提交,在下一篇中再聊那天的后五次提交。 首先来看第一次提交,这一次提交主要完...

网友评论

      本文标题:moco代码赏析三

      本文链接:https://www.haomeiwen.com/subject/gvgfzxtx.html