程式目的: 貓(cat)大叫一聲,所有的老鼠(mouse)都開始逃跑,主人(master)被驚醒。
定義介面:
public inte***ce observer public inte***ce subject //動作發起
貓(cat),老鼠(mouse),主人(master)的類
public class mouse : observer public void response() } public class master : observer public void response() } public class cat : subject public void aimat(observer obs) public void cry() } } class mainclass }
執行主函式得:
cat cryed!
mouse1 attempt to escape!
mouse2 attempt to escape!
host waken!
特點:1.具有聯動性,老鼠和主人的行為是被動的。
2.程式對老鼠和主人進行抽象
該種設計方法考慮到擴充套件性,貓的叫聲可能引起其他聯動效應,而這時只需要加入新的類,同時也便於以後維護該模組的**。
面向介面程式設計
面向介面程式設計 英文的定義是 program to an inte ce,not an implementation 它是物件導向程式設計裡面的乙個設計原則。所謂原則,就是 你最好按我的樣子來做,實在不行也可以違反 物件導向程式設計有三個主要的特性,即是封裝,多型,繼承。面向介面程式設計是多型特性...
面向介面程式設計
物件導向設計裡有一點大家已基本形成共識,就是面向介面程式設計,我想大多數人對這個是沒有什麼覺得需要懷疑的。問題是在實際的專案開發中我們是怎麼體現的呢?難道就是每乙個實現都提供乙個介面就了事了?反過來說,你有時候有沒有覺得介面是多餘的事?又或者,你僅僅是覺得現在類似spring這樣的框架已習慣用介面這...
面向介面程式設計
上篇我們了解了當依賴注入與面向介面程式設計結合起來,才能真正發揮依賴注入的優勢。這篇我們開始簡單了解一下面向介面程式設計。什麼是面向介面程式設計?乙個類依賴其他類的目的是為了獲取其他類所提供的服務,可能這種服務有多種實現,我們可能需要根據不同的場景使用不同的實現。此時,我們可以使用多型,將同一功能的...