你可能对Steve Yegge的Amazon博客中的条目感兴趣:“多态性失败时”。本质上,他正在解决这样的情况,即多态性带来的麻烦多于解决的麻烦。
问题是要使用多态性,你必须使每个“切换”类的“句柄”逻辑(在这种情况下为Integer等)成为一部分。显然,这是不切实际的。有时从逻辑上讲,这甚至都不是放置代码的正确位置。他建议采用“ instanceof”方法,以减少一些弊端。
与所有被迫编写有臭味的代码的情况一样,请以一种方法(或最多一类)将其保持扣紧状态,以使气味不会泄漏出去。

你可能对Steve Yegge的Amazon博客中的条目感兴趣:“多态性失败时”。本质上,他正在解决这样的情况,即多态性带来的麻烦多于解决的麻烦。
问题是要使用多态性,你必须使每个“切换”类的“句柄”逻辑(在这种情况下为Integer等)成为一部分。显然,这是不切实际的。有时从逻辑上讲,这甚至都不是放置代码的正确位置。他建议采用“ instanceof”方法,以减少一些弊端。
与所有被迫编写有臭味的代码的情况一样,请以一种方法(或最多一类)将其保持扣紧状态,以使气味不会泄漏出去。