dotSITE
Work in Murano Software. Вопросы/Ответы Учебник по ASP.NET
новости материалы решения форумы группы настройки/о проекте

Template method

Реализует скелет алгоритма, в котором некоторые шаги делегируются подклассам.

        namespace TemplateMethod_DesignPattern
        {
            using System;

            class Algorithm 
            {
                public void DoAlgorithm() 
                {
                    Console.WriteLine("In DoAlgorithm");
                    
                    Console.WriteLine("In Algorithm - DoAlgoStep1");            
                    // . . . 

                    Console.WriteLine("In Algorithm - DoAlgoStep2");            
                    // . . . 

                    DoAlgoStep3();

                    Console.WriteLine("In Algorithm - DoAlgoStep4");            
                    // . . . 

                    DoAlgoStep5();
                }

                virtual public void DoAlgoStep3()
                {
                    Console.WriteLine("In Algorithm - DoAlgoStep3");        
                }

                virtual public void DoAlgoStep5()
                {
                    Console.WriteLine("In Algorithm - DoAlgoStep5");            
                }
            }

            class CustomAlgorithm : Algorithm
            {
                public override void DoAlgoStep3()
                {
                    Console.WriteLine("In CustomAlgorithm - DoAlgoStep3");
                }

                public override void DoAlgoStep5()
                {
                    Console.WriteLine("In CustomAlgorithm - DoAlgoStep5");
                }
            }

            public class Client
            {
                public static int Main(string[] args)
                {
                    CustomAlgorithm c = new CustomAlgorithm();

                    c.DoAlgorithm();

                    return 0;
                }
            }
        }
        

Back
Контакт Реклама на сайте Спонсорам Веб мастерам

Лицензионное соглашение - © 2000-2012 dotSITE
Хостинг .NET предоставлен PARKING.RU
Поддержку сайта осуществляет Murano Software Inc., Offshore software development