作业:依赖注入

原创 2018-11-14 11:31:02 656
摘要:<?php //当A类需要依赖于B类,也就是说需要在A类中实例化B类的对象来使用时候,如果B类中的功能发生改变,也会导致A类中使用B类的地方也要跟着修改,导致A类与B类高耦合。这个时候解决方式是,A类应该去依赖B类的接口,把具体的类的实例化交给外部。 /**  * 为了约束我们先定义一个消息接口中  * Interface Message &
<?php
//当A类需要依赖于B类,也就是说需要在A类中实例化B类的对象来使用时候,如果B类中的功能发生改变,也会导致A类中使用B类的地方也要跟着修改,导致A类与B类高耦合。这个时候解决方式是,A类应该去依赖B类的接口,把具体的类的实例化交给外部。
/**
 * 为了约束我们先定义一个消息接口中
 * Interface Message
 */
interface Message{
	public function seed();
}
/*
 * 有一个发送邮件的类
 */
class SeedEmail implements Message{
	public function seed(){
		return 'seed email';
	}
}

/*
 * 新增一个发送短信的类
 */
class SeedSMS implements Message{
	public function seed(){
		return 'seed sms';
	}
}

/*
 * 订单产生的时候,需要发送消息
 */
class Order{
	protected $messager='';
	function __construct(Message $message){
		$this->messager=$message;
	}
	public function seed_msg(){
		return $this->messager->seed();
	}
	
}

$message=new SeedEmail();
$Order=new Order($message);
$Order->seed_msg();
?>


批改老师:天蓬老师批改时间:2018-11-14 11:43:41
老师总结:写得非常工整,完美,下次试试用容器和外观模式,进行简化

发布手记

热门词条