首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> C語言 >> 關於C語言

Effective C# 原則 33:限制型別可視性 (下)

     編輯:關於C語言

以介面隔離實作細節

當需求變更(如新增國際電話驗證)時,不應在原類別堆疊邏輯,而應定義介面並將具體實作隱藏為 internal 類別:

public interface IPhoneValidator
{
    bool ValidateNumber(PhoneNumber ph);
}

internal class USPhoneValidator : IPhoneValidator { ... }
internal class InternationalPhoneValidator : IPhoneValidator { ... }

透過工廠模式根據電話號碼型別建立適當驗證器。組件外僅見介面,具體實作類別對外不可見,可隨時新增、替換地區驗證邏輯而不影響其他組件。

抽象類別 vs. 介面

也可建立公用抽象基類提供共用演算法,但介面通常更輕量。無論採哪種方式,核心原則相同:在組件中盡可能少公開類別。

公開介面即契約

暴露的公用類別與介面構成契約,必須長期維護。公開越少,未來擴充或修改實作的彈性越大。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved