public Facade(Vision vision, Turbine turbine, VoiceAssistant voiceAssistant, WheelEngine wheelEngine) { this.vision = vision; this.turbine = turbine; this.assistant = voiceAssistant; this.engine = wheelEngine; }
// Facade code public void Operation() { vision.Operation(); assistant.Operation(); engine.Operation(); Console.WriteLine(); var wheelEngine = new WheelEngine(); var voiceAssistant = new VoiceAssistant(); turbine.Attach(wheelEngine); turbine.Attach(voiceAssistant); turbine.SomeBusinessLogic(); turbine.Detach(voiceAssistant); turbine.SomeBusinessLogic(); }
static void Main(string[] args) { Expression isDust = getDustExpression(); Expression isGrease = getGreaseExpression(); Expression isFilth = getFilthExpression(); Console.WriteLine("Выберите вид загрязнения, из представленных ниже."); Console.WriteLine("В случае несовпадения с режимом пылесоса будет запущена режим комплексной очистки всех загрязнений."); Console.WriteLine("Пыль / Грязь / Жирное пятно / Сгусток пыли / Маслянное пятно / Грязь с улицы \n\n"); string cleanigMode = Console.ReadLine(); if (isDust.interpret(cleanigMode)) { Console.WriteLine("Выбран режим очистки от пыли."); } else if (isGrease.interpret(cleanigMode)) { Console.WriteLine("Выбран режим очистки от жирных пятен."); } else if (isFilth.interpret(cleanigMode)) { Console.WriteLine("Выбран режим очистки от грязи."); } else { Console.WriteLine("Выбран режим комплексной очистки от всех загрязнений."); } Console.WriteLine(); Vision vision = new Vision(); Turbine turbine = new Turbine(); VoiceAssistant voiceAssistant = new VoiceAssistant(); WheelEngine wheelEngine = new WheelEngine(); Facade facade = new Facade(vision, turbine, voiceAssistant, wheelEngine); Client.ClientOperation(facade); }