我在系統中有兩個實體表示。這適用於適配器模式嗎?
表示A在整個系統中用作現代的首選實現。
表示B用於迎合遺留系統中的怪癖。
我想從A到B的翻譯發生在堅持實體時發生。
我可以使用什麼模式的實現?
實現封裝翻譯功能的「適配器」可能是正確的嗎?還是有更好的術語/方法?
我在系統中有兩個實體表示。這適用於適配器模式嗎?
表示A在整個系統中用作現代的首選實現。
表示B用於迎合遺留系統中的怪癖。
我想從A到B的翻譯發生在堅持實體時發生。
我可以使用什麼模式的實現?
實現封裝翻譯功能的「適配器」可能是正確的嗎?還是有更好的術語/方法?
您可能希望將適配器與工廠結合起來,或者只是通過正常的繼承。
從首選實現中提取接口A,然後實現一個包裝類。
public interface A {
<methods>
}
public class PreferredImplementation implements A {
<methods>
}
public class AdaptorForOldClass implements A {
private final OldClass wrapped;
public AdaptorForOldClass(final OldClass toWrap) {
this.wrapped = toWrap;
}
<methods>
}
我認爲你的要求是隻有在堅持它的時候將A類映射到B類。爲此,我認爲你可以使用數據傳輸對象,然後你的持久層可以完成從DTO到B類的映射。除非你有更多的需求,否則我實在看不到使用適配器設計模式。說明。
適配器通常用於調整接口,而不是整個對象,我認爲其中一個工廠模式可能更適合 – Filip
如果它只是爲了堅持我會說存儲庫模式是一個很好的適合 – jgauffin