設計模式

典型場景-典型問題-典型解決

在面向對象設計法則中,重要的是開閉原則:對於修改是封閉的,對於擴展時開放的;

<?php
# 工廠
interface db {
    function conn();
}

interface Factory {
    function crateDB ();
}


class Mysql implements db{
    public function conn () {
        echo 'conn mysql';
    }
}

class MysqlFactory implements Factory {
    public function createDB () {
        return new Mysql();
    }
}

$fact = new MysqlFactory();
$db = $fact -> createDB();
$db -> conn();
<?php
# 類前加final,類不能被繼承;方法前加final,則方法不能被覆蓋;
# 單例 DB UPLOAD COOKIE
class sigle {
    private static $instance = null;

    final protected function __construct() {
        # new
    }

    private function __clone() {
        # clone
    }

    public static function getInstance() {
        if(null === self::$instance) {
            self::$instance = new self();
        }
        return self::$instance;
    }
}

 

發佈了224 篇原創文章 · 獲贊 19 · 訪問量 6萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章