php - 介面隔離原則
阿新 • • 發佈:2018-11-30
使用多個專門的介面比使用單一的總介面要好。
一個類對另外一個類的依賴性應當是建立在最小的介面上的。
一個介面代表一個角色,不應當將不同的角色都交給一個介面。沒有關係的介面合併在一起,形成一個臃腫的大介面,這是對角色和介面的汙染。
“不應該強迫客戶依賴於它們不用的方法。介面屬於客戶,不屬於它所在的類層次結構。”這個說得很明白了,再通俗點說,不要強迫客戶使用它們不用的方法,如果強迫使用者使用它們不使用的方法,那麼這些客戶就會面臨由於這些不使用的方法的改變所帶來的改變。
<?php
interface A
{
public function getAge();
}
interface B extends A
{
public function getName();
}
class D implements A
{
/**
* interface @Override
*/
public function getAge()
{
return 22;
}
}
class C extends D implements B
{
/*
* interface @Override
*/
public function getName()
{
return '勇哥' ;
}
}
header("content-type:text/html;charset=utf-8");
$c = new \C();
echo $c->getName();
?>