码迷,mamicode.com
首页 > Web开发 > 详细

php设计模式的六大原则(一):单一职责原则

时间:2015-11-13 17:12:13      阅读:288      评论:0      收藏:0      [点我收藏+]

标签:

<?php
//单一职责原则

class Modem{

	public function dial(){
	
		return "dialing....";
	}

	public function hangup(){
	
		return "hangup!!!";
	}

	public function send(){
	
		return "send info!!!";
	}

	public function receive(){
	
		return "received!!!";
	}

}

class Client{

	public static function doing(){
	
		$modem = new Modem();
		echo $modem -> dial(); //拨号
		echo $modem -> hangup(); //挂断
		echo $modem -> send(); //发送
		echo $modem -> receive(); //接收
	}
}

//如果要修改接收方式的话,所有依赖modem的模块都要修改了


interface IConnection{

	public function dial();

	public function hangup();

}


interface ICommunication{

	public function send();

	public function receive();

}


class Modem implements IConnection, {

	public function dial(){

		return "dialing....";
	}

	public function hangup(){

		return "hangup!!!";
	}
}

class Communication implements ICommunication{

	public function send(){

		return "send!!!";
	}

	public function receive(){

		return "received!!!";
	}
}

class Client{

	 static public function doing(){
	
		$m = new Modem();
		$c = new Communication();
		echo $m -> dial(); //拨号
		echo $m -> hangup(); //挂断
		echo $c -> send(); //发送
		echo $c -> receive(); //接收
	}

}

Client :: doing();

?>

单一职责原则核心:一个类只完成它应该完成的职责。

一个类只完成它应该完成的职责,不能推诿责任,也不可越殂代疱,不能成为无所不能的上帝类。如果你的团队中实施宽松的“代码集体所有权”,在编码的过程中出现许多人同时修改(维护)同一个类的现象,而且成员之间的沟通不够及时,主动和畅通的话,那么时间一长,就很可能出现“承担过多职责”的上帝类。这时,提炼基类/接口和提炼类重构将能帮助我们消除或减轻这种设计臭味。

php设计模式的六大原则(一):单一职责原则

标签:

原文地址:http://my.oschina.net/shyl/blog/530043

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!