簡體   English   中英

命名空間和類名指南

[英]Namespace and class name guidelines

在涉及utils和其他幫助類時,我正確地命名我的類和服務時遇到問題。

你將如何構建以下內容:

EventService.cs
EventServiceUtils.cs
EventServiceValidators.cs
EventServiceCoordinator.cs

等等...

我有多種服務,與上述服務具有相同的需求。 一種想法是將所有這些分成合適的命名空間,使它看起來像這樣:

Services.EventService.EventService.cs //(the actual service)
Services.EventService.Validators.DateValidator.cs
Services.EventService.Validators.ParticipantValidator.cs
Services.EventService.Coordinators.ParticipantCoordinator.cs
Services.EventService.ExtensionMethods.Extensions.cs

等等。 每個命名空間當然是一個單獨的文件夾。 但這並不是100%感覺,因為其他服務中可能有更多的DateValidator,這很容易導致不必要的引用。

而且,Services.EventService.EventService.cs也包含命名空間中的類名,這也不好。 您可以使用Services.Event.EventService.cs,但當然已經有一個具有該名稱的實體。

這是域模型。

您可以將多個服務中使用的驗證器 (和其他類)放在名為eg的單獨命名空間中 CommonValidators。
您可以更改EventService.cs的名稱而不是更改名稱空間的名稱 - 可能是Main.csDefault.cs
我假設您的服務在接口中有合同,因此這將指示服務合同的主要/默認實現。

AppName.Services.Events.EventService.cs //(the actual service)
AppName.Services.Events.ParticipantValidator.cs
AppName.Services.Events.ParticipantCoordinator.cs
AppName.Validators.DateValidator.cs
AppName.Text.Extensions.cs

要點:

  • 向名稱空間添加擴展,描述它們正在擴展的內容
  • 添加常用驗證器可以執行常規命名空間
  • 使用應用程序名稱作為頂級(Microsoft建議根據其指南使用公司名稱)
  • 如果只有一些,我不會將協調員放在一個單獨的命名空間中。

可以在此處找到Microsoft指南: 框架設計指南

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM