1.概要:
1.オブジェクト指向の 5 つの原則: 単一責任原則、インターフェース分離原則、オープンクローズ原則、置換原則、依存関係逆転原則。
2.単一責任の原則:
1.階級に関する限り、その変化の理由はただ 1 つだけです。それは、単一責任の原則です。
2.単一の責任には 2 つの意味があります:
a. 同じ責任を複数のクラスに分散しないようにする
b. 1 つのクラスが多くの責任を負わないようにする
3. 単一の責任の原則に従う理由: クラス間の結合を減らすクラスの再利用性を向上させます。
3つ。ファクトリ パターン:
1. ファクトリ パターンでは、コードの実行時にオブジェクトをインスタンス化できます。オブジェクトを「生産」することができます。
2. 例:
<?php /* * 单一职责原则 */ interface Db_Adapter{ /* * 数据库连接 * @param $config数据库配置 * @return resource */ public function connect($config); /* * 执行数据库查询 * @param string $query 数据库查询sql字符串 * @param mixed $handld 连接对象 * @return resource */ public function query($query,$handle); } class Db_Adapter_Mysql 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; } } } 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);
著作権ステートメント: この記事はブロガーによるオリジナルの記事であり、ブロガーの許可なく複製することはできません。
以上、(5)オブジェクト指向設計原則1---概要と単一責任原則について内容の側面も含めて紹介しましたが、PHPチュートリアルに興味のある友人の参考になれば幸いです。