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

程式設計師談:什麼是真正的介面導向程式設計?

     編輯:Java 程式設計入門

OO 系統中,物件間協作關係才是設計核心。介面導向程式設計即依此思想編程:關注定義(規範/約束)與實作分離,而非被動實作。缺乏介面設計意識,表現為頻繁抱怨他人修改影響自己、模組變動引發連鎖調整。

介面的三層理解

  1. 本質:定義與實作分離(名實分離)。系統設計規範應盡量全部分離。
  2. 分類:
    • 抽象體:對整體抽象,對應 abstract class。
    • 抽象面:對某層面抽象,對應 interface,一個體可有多個抽象面。
  3. 環境:介面產生於特定環境,脫離環境失去意義。環境變化對介面影響不可忽視。

澄清常見混淆

  • 介面設計 ≠ 面向物件/面向過程。介面設計針對復用技術,與 OO/OP 非同一維度。
  • UML interface = 協議,非特定語言介面。實作時可映射為 Java interface、CORBA IDL 等。
  • 面向介面程式設計 = 面向抽象協議程式設計,實作者嚴格遵循協議(如 Bill Joy 所說「一邊翻 RFC 一邊寫碼」)。
  • 只有介面無實作、或只有實作無介面,皆反 OO。

結語

老實面向物件、面向協議編程。與其糾結術語,不如思考「面向用戶編程」、「面向領導編程」——有時兩者都很 BT,那我們就面向 BT 編程?

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