static void Main(string[] args) { AbstractClass instance = new ConcreteClass(); instance.TemplateMethod(); Console.ReadLine(); }
static void Main(string[] args) { var abstractClass = new ConcreteClass(); abstractClass.TemplateMethod(); Concrete2Class concrete2Class = new Concrete2Class(); concrete2Class.TemplateMethod(); }
private void ExampleTemplateMethod() { NotUseTM.RookieTeacher poorTeacher = new NotUseTM.RookieTeacher(); poorTeacher.Teach(); UseTM.RookieTeacher smartTeacher = new UseTM.RookieTeacher(); smartTeacher.Teach(); TemplateMethod.ConcreteClass concreteClass = new TemplateMethod.ConcreteClass(); concreteClass.TemplateMethod(); }
static void Main(string[] args) { ConcreteClass concreteClass = new ConcreteClass(); AnotherConcreteClass anotherConcreteClass = new AnotherConcreteClass(); ADiffrentConcreteClass aDiffrentConcreteClass = new ADiffrentConcreteClass(); concreteClass.TemplateMethod(); Console.WriteLine(); anotherConcreteClass.TemplateMethod(); Console.WriteLine(); aDiffrentConcreteClass.TemplateMethod(); Console.WriteLine(); }