#java #lambda #decorator
#java #Лямбда #декоратор
Вопрос:
Является ли приведенный ниже код все еще шаблоном декоратора, когда я использую лямбда-символы? Похоже, ему больше не нужен «конкретный» класс.
Я пытаюсь научиться применять лямбда-символы к каждому примеру в классе шаблонов проектирования Pluralsight (который был написан на Java 7 против Java 8).
Я хотел бы знать, будет ли этот метод, который я написал, использовать функциональный Java-программист?
/**
* In this, you only need one interface. Is it still a decorator pattern?
* uses Lambda and forEach
*/
public static void main_three() {
System.out.println("nn***All Lambda-ed Together:");
SandwichComponent sandwichComponent = () -> "Bread";
SandwichComponent vegiDecorator = () -> sandwichComponent.make() " Vegi";
SandwichComponent dressingDecorator = () -> vegiDecorator.make() " Dressing";
SandwichComponent meatDecorator = () -> dressingDecorator.make() " Meat";
SandwichComponent pickleDecorator = () -> meatDecorator.make() " pickle";
SandwichComponent fancyDecorator = () -> pickleDecorator.make() " a touch of fancy";
List<SandwichComponent> SandwichList = new ArrayList<SandwichComponent>() {
{
add(sandwichComponent);
add(vegiDecorator);
add(dressingDecorator);
add(meatDecorator);
add(pickleDecorator);
add(fancyDecorator);
}
};
SandwichList.forEach(b -> System.out.println(b.make()));
}
Комментарии:
1. Не могли бы вы добавить код, используемый для SandwichComponent, в свой вопрос?