Коллеги, помогите... Сейчас разбираю шаблон Bridge. Ниже набросал код в котором демонстрирую мое понимание данного подхода. Правильно ли я понял?
Демо задача:
неожиданно пришлось в шаблонах разбираться)))
Бухгалтерия печатает отчеты... Сегодня нужны за неделю и месяц, а завтра фиг его знает))) Формат пока нужен PDF и DOC, но и это может измениться))) Т.е. система отчетов должна быть масштабируемой по условным двум осям.Реализация:
abstract class AbstractFormat {
abstract void print();
}
public class DOCFormat extends AbstractFormat {
@Override
void print() {
System.out.println("This is a DOC representation:");
}
}
public class PDFFormat extends AbstractFormat {
@Override
void print() {
System.out.println("This is a PDF representation:");
}
}
abstract class AbstractReport {
void print(AbstractFormat abstractFormat){
abstractFormat.print();
}
}
public class MonthlyReport extends AbstractReport{
@Override
void print(AbstractFormat abstractFormat) {
super.print(abstractFormat);
System.out.println("Monthly report");
}
}
public class WeeklyReport extends AbstractReport{
@Override
void print(AbstractFormat abstractFormat) {
super.print(abstractFormat);
System.out.println("Weekly report");
}
}
public class Main {
public static void main(String[] args) {
new MonthlyReport().print(new PDFFormat());
new MonthlyReport().print(new DOCFormat());
new WeeklyReport().print(new PDFFormat());
new WeeklyReport().print(new DOCFormat());
}
}
Кстати, ребята! В процессе решения задачек не забывайте про фундамент. Я вот как дошел до поиска работы,
ПЕРЕЙДИТЕ В ПОЛНУЮ ВЕРСИЮ