介面隔離原則
故事開始
情節一、一對情侶,男孩給女孩買了一輛跑車;女孩報了駕校,準備考駕照。
那麼我們先使用程式來定義這輛跑車。跑車屬於車裡的乙個種類,具有跑的屬性,那麼我們定義乙個跑的介面,讓跑車來實現這個跑的功能。
public
inte***ce
ivehicle
public
class
sportscar
:ivehicle
}
public
class
driver
public
void drive (
)}
class
program
}
跑車-ruing :>>>>>>>>>>>>
情節二、妹子開跑車追尾了,打**向男主哭訴;男子安慰到,別哭,明兒個哥給你買輛坦克,妹子喜笑顏開。在程式中定義男主買的坦克,坦克按分量分三種型別,分別是輕型坦克、中型坦克、重型坦克。坦克會跑、能**。
public
inte***ce
itank
public
class
lighttank
:itank
public
void run (
)}
public
class
mediumtank
:itank
public
void run (
)}
public
class
weighttank
:itank
public
void run (
)}
情節
三、女孩準備開坦克上街
public
class
driver
public
void drive (
)}
我們發現並不能使用原先的駕照來開坦克。那麼回頭觀察一下我們的itank介面,發現,這個介面不僅定義了run方法,而且也定義了fire方法,妹子總不能上街的時候,開著坦克隨意**吧,所以**這個功能,妹子是使用不到的。那麼,我們就需要把**這個功能,單獨定義乙個介面,在需要使用到的類中實現。
public
inte***ce
iweapon
public
inte***ce
itank
:ivehicle
,iweapon
class
program
}
跑車-ruing :>
>
>
>
>
>
>
>
>
>
>
>
輕型坦克-fire>
>
>
>
>
>
>
>
>
中型坦克-runing :
>
>
>
>
>
>
重型坦克-runing :
>
>
>
情節
四、加戲,妹子嫌開坦克不過癮,要開飛機
public
inte***ce
ifly
:ivehicle
public
class
airplane
:ifly
public
void run (
)}
class program
}
輸出如下:
飛機轟隆隆:>>>>>>>>>>>>>>>
總結
介面隔離原則
一 isp簡介 isp inte ce segregation principle 使用多個專門的介面比使用單一的總介面要好。乙個類對另外乙個類的依賴性應當是建立在最小的介面上的。乙個介面代表乙個角色,不應當將不同的角色都交給乙個介面。沒有關係的介面合併在一起,形成乙個臃腫的大介面,這是對角色和介面...
介面隔離原則
介面隔離原則 isp 客戶端不應該依賴於它不需要的介面。另一種說法是,類間的依賴關係應該建立在最小的介面上。這樣就可以對客戶端隱藏其他的介面資訊,客戶端 只需要知道它需要的內容介面,然後去處理即可,可以更加專注於對功能的實現,其他一概不管。這就是用最小化介面隔離了實現類的細節,也促使我們將龐大的介面...
介面隔離原則
我們在學校的時候,每學期都會評比三好學生,通過德智體美勞全面考查,選舉出優秀的學生,接下來我們以這個為例 首先,我們定義乙個三好學生的介面 public inte ce igoodstudent 三好學生的實現類,每個學生都有名字的,三好學生也不例外 public class goodstudent...