打破類別相依 (依賴穩定不變的Interface比依賴時常修改的具體類別更好)
A->B (A引用到B)
to
A->I<=C, B (A引用Interface I, 而C與B實現I)
打破循環相依 (循環相依會造成動一髮牽全身的副作用, 一定要打破)
A->B->C->A
to
A->B->C->D
A->D
打破繼承關係 (委託關係比繼承關係鬆, 應該多用委託少用繼承)
A<=B
to
A<-B
A只用到一部分B, 想打破A,C之間的關係
A -> B -> C
to
A -> B1 <- B2 -> C
只有A的一部分用到B
A -> B
to
A1 <- A2 -> B
B只是需要部分繼承A(部分Method放空萎縮不用)
A <= B
to
A1 <= A2, B
B其實不需要繼承A,但是C需要繼承A與B的特性
A<=B<=C
to
A<=C=>B
沒有留言:
張貼留言