美文网首页
重构读书笔记-10_13-Encapsulate_Downcas

重构读书笔记-10_13-Encapsulate_Downcas

作者: MR_Model | 来源:发表于2019-07-26 09:09 被阅读0次

    重构第十章

    13.Encapsulate Downcast(封装[向下转型]动作)

    某个函数返回的对象,需要有函数调用者执行[向下转型]动作,将向下转型动作移到函数中。

    Example:

    Object lastReading() {
        return readings.lastElement();
    }
    
    Reading lastReading = thiSite.lastReading();
    

    End:

    Reading lastReading() {
        return (Reading)readings.lastElement();
    }
    Reading lastReading = theSite.lastReading();
    

    Conclusion:

    你的某个函数返回一个值,并且你知道[你所返回的对象]其型别比函数签名式所昭示的更特化,这种情况下,你不应该要求用户承担向下转型的责任,应该尽量为他们提供准确的型别。

    注意

    重构必须在有单元测试的情况下,保证之前的功能修改后不收影响。切记!!!

    相关文章

      网友评论

          本文标题:重构读书笔记-10_13-Encapsulate_Downcas

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