php設計モードの六大原則(五):依存逆置き原則
1140 ワード
依存逆転の原則(DIP)
こんなに簡単だから、覚えたでしょう.バックグラウンド原則の核心に依存する一言:インタフェース向けプログラミング.
<?php
// ,
class Benz{
public function run(){
return " Benz is runing!!!";
}
}
class Driver{
public function drive(Benz $car){
echo $car -> run();
}
}
class Client{
public static function doing(){
$driver = new Driver();
$driver -> drive( new Benz() );
}
}
Client :: doing();
// ?, Driver , , Client ?
interface ICar{
//
public function run();
}
class BMW implements ICar{
public function run(){
return "BMW is runing !!!";
}
}
class Benz implements ICar{
public function run(){
return "Benz is runing !!!";
}
}
interface IDriver{
// , A ,B ,C
public function drive(ICar $car);
}
class Driver implements IDriver{
public function drive(ICar $car){
echo "<br>" . $car -> run();
}
}
class Client{
public static function doing(){
$driver = new Driver();
$driver -> drive( new BMW() ); //
$driver -> drive( new Benz() ); //
.
.
.
.
}
}
Client :: doing();
?>
こんなに簡単だから、覚えたでしょう.バックグラウンド原則の核心に依存する一言:インタフェース向けプログラミング.