OO 系統中,物件間協作關係才是設計核心。介面導向程式設計即依此思想編程:關注定義(規範/約束)與實作分離,而非被動實作。缺乏介面設計意識,表現為頻繁抱怨他人修改影響自己、模組變動引發連鎖調整。
abstract class。interface,一個體可有多個抽象面。interface = 協議,非特定語言介面。實作時可映射為 Java interface、CORBA IDL 等。老實面向物件、面向協議編程。與其糾結術語,不如思考「面向用戶編程」、「面向領導編程」——有時兩者都很 BT,那我們就面向 BT 編程?