/
wwwstepan
/
GoF
Обзор
Документация
Войти
/
wwwstepan
/
GoF
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
Аналитика
Безопасность
master
AbstractFactory.cs
39 строк
814 B
wwwstepan
init
04 фев 2025, 09:04
04 фев 2025, 09:04
6d7d1b3
Код
Авторство
О чём код?
using static My.CommonTools; namespace GoF; public class UseAbstractFactory { public UseAbstractFactory() { new Client(new Fac1()).Create(); new Client(new Fac2()).Create(); } } public class Client(AbstractFactory fac) { public void Create() { print(fac.CreateA()); print(fac.CreateB()); } } public abstract class AbstractFactory { public abstract AbstractA CreateA(); public abstract AbstractB CreateB(); } public class Fac1 : AbstractFactory { public override AbstractA CreateA() => new A1(); public override AbstractB CreateB() => new B1(); } public class Fac2 : AbstractFactory { public override AbstractA CreateA() => new A2(); public override AbstractB CreateB() => new B2(); }