时间:2021-07-01 10:21:17 帮助过:25人阅读
1.面向对象的五大原则:单一职责原则、接口隔离原则、开放-封闭原则、替换原则、依赖倒置原则。
二.单一职责原则:
1. 就一个类而言只有一个引起它变化的原因即为:单一职责原则。
2. 单一职责有两个含义:
a. 避免相同的职责分散到不同的类
b. 避免一个类承担太多的职责
3. 遵循单一职责原则的原因:减少类之间的耦合,提高类的复用性。
三.工厂模式:
1. 工厂模式允许在代码执行时实例化对象。能够‘生产’对象。
2. 示例:
_dbLink = @mysql_connect($config->host.(empty($config->port) ? '' : ':'.$config->port), $config->user,$config->password,true)){ if (@mysql_select_db($config->database,$this->_dbLink)){ if ( $config->charset){ mysql_query("SET NAMES '{$config->charset}'",$this->_dbLink); } return $this->_dbLink; } } /*数据库异常*/ throw new Db_Exception(@mysql_error($this->_dbLink)); //这一句报了很多错 } /* * 执行数据库查询 * * @param string $query 数据库查询sql字符串 * @param mixed $handle 连接对象 * @return resource */ public function query($query,$handle){ $resource = ""; if ($resource == @mysql_query($query,$handle)){ return $resource; } } } class Db_Adapter_sqlite implements Db_Adapter{ private $_dbLink; //数据库连接字段标记 /* * 数据库连接函数 * * @param $config数据库配置 * @throws DB_exception * @return resource */ public function connect($config){ if ($this->_dbLink = @mysql_connect($config->host. (empty($config->port) ? '' : ':'.$config->port), $config->user,$config->password,true)){ if (@mysql_select_db($config->database, $this->_dbLink)){ if ($config->charset){ mysql_query("SET NAMES '{$config->charset}'",$this->_dbLink); } return $this->_dbLink; } } /*数据库异常*/ throw new Db_exception(@mysql_error($this->dbLink)); } /* * 执行数据库查询 * * @param string $query 数据库查询sql字符串 * @param mixed $handle 连接对象 * @return resource */ public function query($query,$handle){ $resource = ""; if ($resource == @mysql_query($query,$handle)){ return $resource; } } } $testDb = new Db_Adapter_Mysql(); $config = array( //这里写数据库配置 'host'=>'localhost', ); $testDb->connect($config); $testDb->query($sql,$handle);
版权声明:本文为博主原创文章,未经博主允许不得转载。
以上就介绍了(五)面向对象的设计原则1---总纲及单一职责原则,包括了方面的内容,希望对PHP教程有兴趣的朋友有所帮助。