Java. Паттерн Strategy
Strategy - это поведенческий паттерн, для определения схожих алгоритмов. Здесь похожие алгоритмы print для StrategyA и StrategyB . Эти два класса реализуют один интерфейс IPrint . Класс ContextStrategy - содержит IPrint iPrint IPrint и setiPrint - для уставноки нужной стратегии и метод print, который содержит this. iPrint .print public interface IPrint { void print(String message); } public class StrategyA implements IPrint { @Override public void print(String message) { System. out .println( "StrategyA " + message); } } public class StrategyB implements IPrint { @Override public void print(String message) { System. out .println( "StrategyB " + message); } } public class ContextStrategy { private IPrint iPrint ; public void setiPrint(IPrint iPrint) { this . iPrint = iPrint; } public void print(String message) { this . iPrint .print(message); } public void setiPrintAndPrint(IPrint iPr