ASP.NET - 常見類型命名規範
| 2025-5-9
字數 17閱讀時間 1 分鐘
類型名稱
用途說明
命名範例
設計意義 / 模式(詳細說明)
Strategy
定義一組可互換的演算法邏輯,使用介面抽象不同策略
IPaymentStrategy, ILoginStrategy
對應 策略模式(Strategy Pattern)。符合 OCP(開放封閉原則),讓演算法可以獨立演進或替換,實現動態切換邏輯。常與 DI 配合進行策略注入。
Provider
提供某種功能資源或服務的實作抽象,常用於設定驅動的服務
IAuthProvider, ConfigurationProvider
表示「某功能的來源」概念,常見於 外部資源、第三方套件的抽象封裝。與策略模式相似,但更著重於「供應行為」與可插拔性。
Attribute
裝飾類別、方法或屬性的自訂中繼資料,用於反射等機制
AuthorizeAttribute, LogAttribute
對應 AOP(面向切面編程)元編程,使行為可透過中繼資料與反射被動態擴展,達到橫切關注點的目的,如權限、紀錄等。
Extensions
擴充既有類別(通常是靜態類別 + this 修飾符)
HttpClientExtensions, StringExtensions
實現 Decorator Pattern(擴充原型),不修改原始類別即可新增功能。促進封裝與使用者體驗,提高 API 易用性。
Builder
用來逐步構建一個複雜物件的模式
QueryBuilder, JwtTokenBuilder
對應 建造者模式(Builder Pattern),避免建構函式過於複雜,支援鏈式呼叫與流暢接口。符合 SRP,構建與使用解耦。
Factory
負責建立某類型物件的實例
ILoggerFactory, DbContextFactory
工廠模式(Factory Method / Abstract Factory) 的具體實踐,集中建立邏輯,對應 DIP(依賴反轉原則)。可讓類別依賴抽象,而非具體實作。
Service
處理業務邏輯的類別,通常會註冊在 DI 容器中
UserService, AuthService
表示系統的應用邏輯層,符合分層架構。與 Controller 區分職責,通常配合 DI 與接口設計,有助於單元測試與邏輯重用。
Handler
負責處理某個具體操作或事件
LoginHandler, CommandHandler
常見於 CQRSMediator 模式中,強調「一次一件事」,落實 SRP。可提升測試性與事件導向設計的一致性。
Middleware
處理 HTTP 請求/回應管線上的一段處理邏輯
LoggingMiddleware, JwtMiddleware
對應 責任鏈模式(Chain of Responsibility)。每個 Middleware 負責單一處理任務,支援組合與彈性擴展。
Options
用於封裝設定項,通常搭配 DI 的 IOptions pattern 使用
JwtOptions, DatabaseOptions
設定綁定模式(Options Pattern),可集中管理組態、提升可維護性。與 ASP.NET Core 的 DI 系統無縫整合。
Context
表示某種執行上下文,常見於資料庫、工作流程、驗證等
DbContext, AuthContext
扮演執行環境或狀態管理角色,將相關資源封裝起來。常與 Unit of Work / Repository Pattern 搭配,維護一致性與交易控制。
Controller
處理 HTTP 請求,屬於 MVC 架構的主要元件
AccountController, HomeController
MVC 模式中扮演「C(控制器)」角色。負責接收輸入並協調 Service 層處理,是 Web API 的進入點。
Manager
負責管理資源或狀態的類別
ConnectionManager, CacheManager
無特定設計模式,但表示集中控制、維護資源(如快取、連線等)。應小心其可能違反 SRP,避免過度肥大。
Helper / Utils
封裝工具性函式,非面向物件設計的一種輔助類別
DateTimeHelper, FileUtils
為非物件導向型的函式集合,提供快速重複使用的功能。簡單實用但應謹慎避免亂用,否則容易變成 God Class。
Resolver
解決某種依賴或資源的實體
DependencyResolver, TypeResolver
常用於動態解析或註冊類型,如 IoC Container、GraphQL Type 解析等。具備高度靈活性與可組態性。
Invoker
封裝方法呼叫的邏輯,常見於遠端呼叫或反射操作
CommandInvoker, ApiInvoker
表示對方法、命令或請求的統一呼叫介面。可封裝錯誤處理、重試、日誌等共通行為,實現解耦與延遲綁定。
Wrapper
封裝其他物件的使用方式,使其更易於存取或整合
HttpClientWrapper, StreamWrapper
對應 Adapter / Decorator Pattern,用來簡化原始接口或新增額外功能,常用於第三方 API 的二次封裝。
Validator
執行資料驗證邏輯,常見於 FluentValidation 等工具
UserInputValidator, TokenValidator
對應 驗證責任分離原則,將驗證邏輯獨立出來可重複使用與測試。常與 DI、Pipeline 行為組合使用。
Loading...
目錄