我在系统中有两个实体表示。这适用于适配器模式吗?
表示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