Heim  >  Artikel  >  Backend-Entwicklung  >  php设计模式的六大原则(五):依赖倒置原则

php设计模式的六大原则(五):依赖倒置原则

WBOY
WBOYOriginal
2016-06-23 13:23:231118Durchsuche

依赖倒置原则(DSP)

<?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();?>

这么简单,学会了吧?依赖倒置原则核心一句话:面向接口编程。



Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn