PatternsCSharpProgramming/Patterns/Facade/Program.cs
Dvurechensky 3a28caed27 1.0
Main
2024-10-05 09:15:54 +03:00

55 lines
1.0 KiB
C#
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

/* Фасад
Предоставляет единый интерфейс к группе
интерфейсов подсистемы. Определяет высокоуровневый
интерфейс, делая систему проще для использования.
*/
class Program
{
static void Main()
{
#region Пример 1 - базовое
var facade = new Facade(new A(), new B());
facade.Start();
Console.ReadKey();
#endregion
}
}
class Facade
{
ILogic logic1;
ILogic logic2;
public Facade(ILogic logic1, ILogic logic2)
{
this.logic1 = logic1;
this.logic2 = logic2;
}
public void Start()
{
logic1.Process();
logic2.Process();
}
}
interface ILogic
{
void Process();
}
class A : ILogic
{
public void Process()
{
Console.WriteLine("Some Process " + GetType().Name);
}
}
class B : ILogic
{
public void Process()
{
Console.WriteLine("Some Process " + GetType().Name);
}
}