我讀了一本書叫做Refactoring to Patterns,而在這本書中有一個標題爲部分:提取複合(第214頁)。爲什麼以及何時應該我「提取複合」,而不是「提取超」
它暗示什麼,如果一串子類有共同的功能,你應該提取功能到一個新的超類。這聽起來很直截了當。
是什麼Extract Composite
和Extract Superclass
之間的區別?
那麼,根據閱讀和圖...複合應該是一個新的超類你的孩子類。參見下圖:
問題: 什麼是創建一個新的 「CompositeTag」 超類的目的是什麼?爲什麼不想將代碼複製移動到其原始基類(Node)?
提取超類和提取合成似乎沒有什麼區別,除了你採用通用代碼的層次結構有多高。這就是剛剛向我解釋的...如果其他人想要免費增加2美分。 –