-
- /**
- ファクトリーパターンの例
- @link http://bbs.it-home.org
- */
- abstract class Operation{
- abstract public function getValue($num1,$num2);
- public function getAttr(){
- return 1;
- }
- }
- class Add extends Operation{
- public function getValue($num1, $num2){
- return $num1+$num2;
- }
- }
- class Sub extends Operation{
- public function getValue($num1, $num2){
- return $num1-$num2;
- }
- }
- class Factory{
- パブリック静的関数 CreateObj($operation){
- switch ($operation){
- case '+': return new Add();
- case '-': return new Sub();
- }
- }
- }
- $Op=Factory::CreateObj('-');
- echo $Op->getValue(3, 6);
- ?>
-
コードをコピー
実際の開発ではデータベース選択クラスとして使用されることが一般的です。
PHP 設計パターンのシングルトン モードを見てみましょう。存在するのはシングルトンだけです。簡単に言えば、オブジェクトは特定のタスクのみを担当します。
たとえば、郵便局には電話帳が 1 冊しかありません。必要な人が読むことができます。全員が確認したいときに職員が 1 部取り出して、読み終えたらリサイクルする必要はありません。
-
- class Mysql{
- public static $conn;
- public static function getInstance(){
- if (!self::$conn){
- new self();
- return self:: $conn;
- }else {
- return self::$conn;
- }
- }
- プライベート関数 __construct(){
- self::$conn= "mysql_connect:";// mysql_connect('','','' )
- }
- パブリック関数 __clone()
- {
- trigger_error("接続が 1 つだけ");
- }
- }
- echo Mysql::getInstance();
- echo Mysql::getInstance();
- ?>
-
コードをコピー
手順:
シングルトン モードは主にデータベース接続クラスとして使用され、パラメーターに従ってシングルトン モードを呼び出すことでリソースの使用効率を向上させることができます。
|