美文网首页TDD(测试驱动开发)
重构坏味道:不完美的库类

重构坏味道:不完美的库类

作者: Ps天花乱坠 | 来源:发表于2020-11-19 23:02 被阅读0次

    不完美的库类

    症状

    有时候你在工具包(依赖包)中找不到你想要的工具(方法或者函数),但是又没有其它工具包可以替换,因为这个工具包的其它工具你却十分喜欢,这种时候你无法直接修改它,只能在客户端打补丁来补足你需要的那个函数。


    Incomplete Library Class

    病因

    库的作者没有未卜先知的能力,因为他也无法考虑设计是非常的完美周全,所以导致了可能某些功能在将来并没有完美支持。

    导致的健康问题

    如果调用端只有一处想使用这个类库,可以添加扩展的代码,但是如果有多处使用相同的功能,可能会在很多地方都出现这样相同的代码,然而这段扩展代码本该属于那个不完美的类。

    治疗

    • 如果想修改库类的一两个函数

    尝试运用 Introduce Foreign Method 在目标类中建立一个函数,用来提供你需要的功能
    IntelliJ IDEA 练习视频

    • 如果想加一大堆额外行为

    尝试运用 Introduce Local Extension 1.子类化 2.包装类)使"函数和数据被统一封装,防止其它类部分过分复杂"
    IntelliJ IDEA 练习视频

    康复

    现在我可以找到锤子和扳子来处理我想做的事情了

    InComplete Library Class After Refactoring

    相关文章

      网友评论

        本文标题:重构坏味道:不完美的库类

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