Остается ли этот код шаблоном декоратора, когда я использую Lambda?

#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, в свой вопрос?