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

Strategy

Strategy инкапсулирует алгоритм как объект, позволяя заменять один на другой.

        namespace Strategy_DesignPattern
        {
            using System;

            
            abstract class Strategy 
            {
                abstract public void DoAlgorithm();
            }

            class FirstStrategy : Strategy 
            {
                override public void DoAlgorithm()
                {
                    Console.WriteLine("In first strategy");         
                }
            }

            class SecondStrategy : Strategy 
            {
                override public void DoAlgorithm()
                {
                    Console.WriteLine("In second strategy");            
                }
            }

            class Context 
            {
                Strategy s;
                public Context(Strategy strat)
                {
                    s = strat;          
                }

                public void DoWork()
                {
                }

                public void DoStrategyWork()
                {
                    s.DoAlgorithm();
                }
            }

            public class Client
            {
                public static int Main(string[] args)
                {   
                    FirstStrategy firstStrategy = new FirstStrategy();
                    Context c = new Context(firstStrategy);
                    c.DoWork();
                    c.DoStrategyWork();

                    return 0;
                }
            }
        }
        

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

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