예제 #1
0
        public static void Main(string[] args)
        {
            // SingletonNotThreadSafe
            var singletonExamples = new SingletonExamples();

            singletonExamples.Try_Singleton_NotThreadSafe();
            Console.WriteLine(string.Empty);
            singletonExamples.Try_Singleton_NotThreadSafe_Fail();

            // SingletonLazyType
        }
예제 #2
0
        /// <summary>
        /// Main
        /// </summary>
        /// <param name="args"></param>
        public static void Main(string[] args)
        {
            var menuPoint = 0;

            do
            {
                menuPoint = ShowMenuDesignPatterns();
                switch (menuPoint)
                {
                case (int)Patterns.SingletonNotThreadSafe:
                {
                    var singletonExamples = new SingletonExamples();
                    singletonExamples.Try_Singleton_NotThreadSafe();
                    Console.WriteLine(string.Empty);
                    singletonExamples.Try_Singleton_NotThreadSafe_Fail();

                    WaitAfterExample();
                    break;
                }

                case (int)Patterns.SingletonLazyType:
                {
                    break;
                }

                case (int)Patterns.FactoryMethod:
                {
                    //new FactoryMethodExample().TryFactoryMethod();
                    WaitAfterExample();
                    break;
                }

                case (int)Patterns.Adapter:
                {
                    //new AdapterExample().TryAdapter();
                    WaitAfterExample();
                    break;
                }

                case (int)Patterns.Decorator:
                {
                    //new DecoratorExample().TryDecorator();
                    WaitAfterExample();
                    break;
                }

                case (int)Patterns.TemplateMethod:
                {
                    //new TemplateMethodExample().TryTemplateMethod();
                    WaitAfterExample();
                    break;
                }

                default:
                {
                    menuPoint = -1;
                    break;
                }
                }
            } while (menuPoint != (int)Patterns.Exit);
        }