<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                企業??AI智能體構建引擎,智能編排和調試,一鍵部署,支持知識庫和私有化部署方案 廣告
                ~~~ <?php /** * 特點:將調用者與創建者分離,調用者直接向工廠請求,減少代碼的耦合.提高系統的可維護性與可擴展性. * 缺點:當要修改類的時候,工廠類也需要做出相對應的更改,違反了開閉原則 * 只知道服務端開放了一個Factory::createDb()方法 * 方法只允許傳遞數據庫名稱,如果新增一個oracle需要修改Factory(比較麻煩) * 面向對象設計法則中,重要的開閉原則--對于修改是封閉的,對于擴展是開放的 */ interface Db{ function conn(); } class DbMysql implements Db { function conn(){ return "mysql conn"; } } class DbSqlite implements Db{ function conn(){ return "sqlite conn"; } } class PersonFactory{ const MYSQL = "mysql"; const SQLITE = "sqlite"; public static function getInstanc($db){ switch ($db){ case self::MYSQL: return new DbMysql(); case self::SQLITE: return new DbSqlite(); default: return null; } } } //調用 $mysql = PersonFactory::getInstanc(PersonFactory::MYSQL); $sqlite = PersonFactory::getInstanc(PersonFactory::SQLITE); echo $mysql->conn(); echo $sqlite->conn(); ~~~
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看