Related Posts Plugin for WordPress, Blogger...

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呢?那是否意味著我們一旦修改一個類別,就必須再更動其他一大堆耦合的類別。

往後的文章會再教大家修改這種耦合度過高的情況。

留言