Я пытаюсь понять, как использовать шаблон моста в следующей ситуации. Проблема, с которой я столкнулся, заключается в том, что я не могу разделить разработчиков.
public class GoodTest {
void sayHi(){
System.out.println("I want to say:"); // Top part - same for all implementors
System.out.println("Good Test"); // Middle part different
System.out.println("I am done"); // Bottom part - same for all implementors
}
}
public class GoodMathTest {
void sayHi(){
System.out.println("I want to say:"); // same for all implementors
int x = 10;
System.out.println(x); // middle part is different from others
System.out.println("Good Math Test");
System.out.println("I am done"); // same for all implementors
}
}
public class GoodMathWrittenTest {
void sayHi(){
System.out.println("I want to say:"); // same for all implementors
int x = 10;
System.out.println(x*x);
System.out.println("Good Math Written Test"); // middle part different
System.out.println(x*x*x);
System.out.println("I am done"); // same for all implementors
}
}
Я считаю, что в этом случае решение состоит в том, чтобы удалить Test Type
и Subject Test
, построить свою собственную иерархию и передать их экземпляр классу, который может направить вызов одному этих разработчиков.
Проблема:
- Поскольку исходный метод использует вещи, которые будут делегированы
Subject Test
и Test type
. Как мы извлекаем и разбиваем код Subject Test
и Test type
. - Если я сделаю то же самое, как мне написать метод для конкретного класса, который использует средства реализации, полученные путем внедрения зависимостей?
Спасибо