public void DoSomething() { AbstractProductOne productOne = _factory.CreateProductOne(); AbstractProductTwo productTwo = _factory.CreateProductTwo(); productTwo.DoSomethingWith(productOne); }
public abstract void Interact(AbstractProductOne productOne);
public Client(AbstractFactory factory) { productOne = factory.CreateProductOne(); productTwo = factory.CreateProductTwo(); }
public override void Interact(AbstractProductOne productOne) { PatternUseCase.Output += GetType().Name + " " + nameof(Interact) + " " + productOne.GetType().Name + "\r\n\r\n"; }
public abstract void DoSomethingWith(AbstractProductOne one);
public override void DoSomethingWith(AbstractProductOne one) { }