重构读书笔记-10_13-Encapsulate_Downcas

2019-07-26  本文已影响0人  MR_Model

重构第十章

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:

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

注意

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

猜你喜欢

热点阅读