// Клиентский код работает со всеми компонентами через базовый // интерфейс. public void ClientCode(Component component) { var result = component.Operation(); Console.WriteLine($"RESULT: {result}"); Console.WriteLine(); }
public void ClientCode2(Component component1, Component component2) { if (component1.IsComposite()) { component1.Add(component2); } Console.WriteLine($"RESULT: {component1.Operation()}"); }
public void GetElementofComponent(Component component1, int index) { if (component1.IsComposite()) { component1.GetChild(index); } Console.WriteLine($"Result: {component1.Operation()}"); }
public void RemoveComponentofComponent(Component component1, Component component2) { if (component1.IsComposite()) { component1.Remove(component2); } Console.WriteLine($"Result: {component1.Operation()}"); }
//ADICIONA UM COMPONENTE A OUTRO COMPONENTE public void AddComponentToComponent(Component component1, Component component2) { if (component1.IsComposite()) { component1.Add(component2); } Console.WriteLine($"Result: {component1.Operation()}"); }
public void ClientCode2(Component component, Component component2) { if (component.IsComposite()) { component.Add(component2); } Console.WriteLine($"Result: {component.Operation()}\r\n"); }
public static void EX1() { IComponent simpleComponent = new Component(); simpleComponent.Operation(); IComponent complexComponent = new Composite.Exemplo1.Composite(); complexComponent.Operation(); Composite.Exemplo1.Composite composite = new Exemplo1.Composite(); composite.AddComponent(simpleComponent); composite.AddComponent(complexComponent); composite.GetComponents(); composite.Operation2(); }
// The client code works with all of the components via the base // interface. public void ClientCode(Component leaf) { Console.WriteLine($"RESULT: {leaf.Operation()}\n"); }
// Клиентский код работает со всеми объектами, используя интерфейс // Компонента. Таким образом, он остаётся независимым от конкретных // классов компонентов, с которыми работает. public void ClientCode(Component component) { Console.WriteLine("RESULT: " + component.Operation()); }