С учетом входного объекта компании. В зависимости от источника объекта клиент выбирается. Предположим, у меня есть 2 клиента. Различные поля входного объекта необходимо преобразовать. Каждый клиент может иметь отдельные трансформаторы для разных преобразований поля.
class Company {
String a;
String b;
}
abstract class AbstractTransformer {
private StringaTransformer aTransformer;
private StringbTransformer bTransformer;
public Object transform(Company c) {
String x = aTransformer.transform(c);
String y = bTransformer.transform(c);
return some object of x and y
}
}
class Client1Transformer extends AbstractTransformer{
Client1Transformer()
public Object transform(Company c) {
return super.transform(c);
}
}
class Client2Transformer extends AbstractTransformer{
Client2Transformer()
public Object transform(Company c) {
return super.transform(c);
}
}
В настоящее время оба клиента имеют одинаковые преобразования. В будущем client1 может иметь отдельный преобразователь для преобразования поля a. Является ли указанный выше код корректным и нуждается в некоторых предложениях по включению этого изменения, когда client1 будет иметь отдельный преобразователь для поля a. Аналогичным образом в объекте Company может быть несколько полей. Является ли определение трансформаторов таким образом, кажется правильным, если нет, предложите несколько подходящих подходов.