博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

由”交通堵塞”引發的設計模式和程式優化

Posted on 2006-05-15 18:08  自適應軟件......  阅读(989)  评论(13编辑  收藏  举报

      
      星期天
,去看看我媽,在一個十字路口堵車差不多一個小時,真是鬱悶.心里想著,這里要是有座立交橋就好了,車輛便可以分流.想著想著,這些車輛彷彿變成了我們Developing系統中的數據流.

我們平時有用到的Switch,現在看來,它就是這"米"字路口,記得剛開始Code的時候,特別喜歡用它.覺得幾種情況羅列在這裡,很清晰.看看下面的代碼:

Class Dog

{

        private string A_name;

        private string B_name;

        public Dog {};

        public string GetAname()

        {            

                return A_name;         

}

public string GetBname()

        {            

                return B_name;          

}

public string getName(string dogType)

{

                Switch(dogType)

                        {

                                case “A”:

                                        dogName =GetAname();

                                        break;

case “B”:

                                        dogName =GetBname ();

                                        break;

                                default:

                                        dogName = “There is not the “+ dogNameSequence +” sequence !”;

break;

}

 

}

 

}

class do

{

        public do{};

        static void Main (string[] args)

        {

                //I want to get the name of the type A;

                string dogAName;

                Dog dog = new Dog();

   dogAName = dog. GetName(“A”);

       

}

}

這樣的話,對每個Sequence都是需要判斷,遍歷一次.在看看下面的代碼:

abstract class Dog

{

public string DogName;

}

class A : Dog

{

        private string A_name;

        public string DogName

{

        get

        {

                return A_name;

}

}

}

class B : Dog

{

        private string B_name;

        public string DogName

{

        get

        {

                return B_name;

}

}

}

class do

{

        public do{};

        static void Main (string[] args)

        {

                //I want to get the name of the type A;

                string dogAName;

                Dog dog = new A();

   dogAName = dog.DogName;     

}

}

      很顯然這個就相當於是架起了一座天橋,雖然耗了點成本”,但是大大提高了執行的效率.這篇文章涉及到的設計模式可能有點膚淺 , 希望后續能和兄弟們共同探討更好更靈活便捷的設計模式.