3-1 Using Namespaces In C#
今天要來介紹命名空間(Namespace)的作用,首先引用Microsoft官方的一段話:
https://docs.microsoft.com/zh-tw/dotnet/csharp/programming-guide/namespaces/using-namespaces
C# 程式內大量使用命名空間的原因有兩個。 首先,.NET Framework 類別會使用命名空間來組織其多種類別。 其次,宣告您自己的命名空間,有助於在較大型的程式設計專案中控制類別和方法名稱的範圍。
不過,命名空間還有另外一個用途,就是能方便我們看出物件之間的耦合度。我們在自己的程式碼中Using了多個命名空間,就代表著這個Class會跟多個Class成倍的耦合。
接下來,請大家替遊戲中的Untiy專案程式碼使用命名空間。我的命名規則是Player及Enemy相關的Class都放在RPG.Character,Weapon的Class放在RPG.Weapons,CameraUI的Class放在RPG.CameraUI,IDamageable等共用類放在RPG.Core。如下圖:
由於程式碼非常多,我就不一一貼上了。
接著,有使用到該Class的地方就必須使用Using關鍵字來引入命名空間。比方說要使用IDamageable類別,就必須用Using RPG.Core來引入;使用Weapon類別,必須用Using RPG.Weapons。如下圖。
大家從Player類別中便能看見,我們使用了CameraUI、Core、Weapons的類別,這樣的耦合度對Player來說太高了。一旦我們修改了Weapon類別的內容,便需要再到Player這邊來修改,若是引入Weapon類別的不只是Player呢?那是否意味著我們一旦修改一個類別,就必須再更動其他一大堆耦合的類別。
往後的文章會再教大家修改這種耦合度過高的情況。
https://docs.microsoft.com/zh-tw/dotnet/csharp/programming-guide/namespaces/using-namespaces
C# 程式內大量使用命名空間的原因有兩個。 首先,.NET Framework 類別會使用命名空間來組織其多種類別。 其次,宣告您自己的命名空間,有助於在較大型的程式設計專案中控制類別和方法名稱的範圍。
不過,命名空間還有另外一個用途,就是能方便我們看出物件之間的耦合度。我們在自己的程式碼中Using了多個命名空間,就代表著這個Class會跟多個Class成倍的耦合。
接下來,請大家替遊戲中的Untiy專案程式碼使用命名空間。我的命名規則是Player及Enemy相關的Class都放在RPG.Character,Weapon的Class放在RPG.Weapons,CameraUI的Class放在RPG.CameraUI,IDamageable等共用類放在RPG.Core。如下圖:
由於程式碼非常多,我就不一一貼上了。
接著,有使用到該Class的地方就必須使用Using關鍵字來引入命名空間。比方說要使用IDamageable類別,就必須用Using RPG.Core來引入;使用Weapon類別,必須用Using RPG.Weapons。如下圖。
大家從Player類別中便能看見,我們使用了CameraUI、Core、Weapons的類別,這樣的耦合度對Player來說太高了。一旦我們修改了Weapon類別的內容,便需要再到Player這邊來修改,若是引入Weapon類別的不只是Player呢?那是否意味著我們一旦修改一個類別,就必須再更動其他一大堆耦合的類別。
往後的文章會再教大家修改這種耦合度過高的情況。
留言
張貼留言