**************************************************************** Задание 2 1. Создай класс Controller, в нем будет содержаться бизнес логика. 2. В Controller добавь паблик конструктор, который будет принимать столько провайдеров, сколько в него передадут для обработки. Сохрани их в приватное поле providers. Помнишь, как это делать? Нужно нажать на аргументе конструктора Alt+Enter, выбрать Create Field for Parameter 'providers' 3. Если провайдеры не переданы в конструктор контроллера, то брось IllegalArgumentException. 4. Создай метод toString в классе Controller (Alt+Insert -> toString()) со стандартной реализацией (должен выводить поле providers) 5. В методе main создай провайдер, а потом создай контроллер с этим провайдером. 6. В методе main выведи в консоль созданный экземпляр Controller-а.
package com.javarush.test.level28.lesson15.big01.model; /** * Created by promoscow on 23.02.17. */ public class Provider { private Strategy strategy; public Provider(Strategy strategy) { this.strategy = strategy; } public Provider() { } public void setStrategy(Strategy strategy) { this.strategy = strategy; } }
package com.javarush.test.level28.lesson15.big01.model; /** * Created by promoscow on 23.02.17. */ public interface Strategy { }
package com.javarush.test.level28.lesson15.big01; import com.javarush.test.level28.lesson15.big01.model.Provider; /** * Created by promoscow on 23.02.17. */ public class Aggregator { public static void main(String[] args) { Provider provider = new Provider(); Controller controller = new Controller(provider); System.out.println(controller); } }
package com.javarush.test.level28.lesson15.big01; import com.javarush.test.level28.lesson15.big01.model.Provider; import java.util.Arrays; /** * Created by promoscow on 23.02.17. */ public class Controller { private Provider[] providers; public Controller(Provider... providers) throws IllegalArgumentException { if (providers == null || providers.length == 0) throw new IllegalArgumentException(); this.providers = providers; } @Override public String toString() { return "Controller{" + "providers=" + Arrays.toString(providers) + '}'; } }
Leave A Comment