<pre id="bbfd9"><del id="bbfd9"><dfn id="bbfd9"></dfn></del></pre>

          <ruby id="bbfd9"></ruby><p id="bbfd9"><mark id="bbfd9"></mark></p>

          <p id="bbfd9"></p>

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

            <th id="bbfd9"><form id="bbfd9"><dl id="bbfd9"></dl></form></th>

            <p id="bbfd9"><cite id="bbfd9"></cite></p><p id="bbfd9"></p>
            <p id="bbfd9"><cite id="bbfd9"><progress id="bbfd9"></progress></cite></p>
            php語言

            PHP和DAO設計模式

            時間:2025-03-24 12:50:20 php語言 我要投稿
            • 相關推薦

            PHP和DAO設計模式

              DAO(Data Access Object,數據存取對象)設計模式對于從PHP和MySQL教程一步步走過來的人來說是一個新的概念。我們的編碼中的一大部分就是用來解決數據(庫)獲取和操作。隨著大數據的來臨,和數據分析方法的進步,數據操作越來越重要。

              DAO設計模式旨在解決兩個問題:重復、和數據源抽象。

              重復:在程序中我們一般會寫一句SQL語句來在數據庫中創造一個條目。之后又寫一個SQL語句來更新某一欄。不斷地重復寫SQL既無聊又不優雅。

              事實上,我們如果用DAO設計模式來實現的話,一個數據存取對象會用來封裝SQL的創建過程,減少復雜性和重復性。它應該不用區分具體的表結構和數據庫引擎。

              數據源抽象:另一個優勢就是數據層的抽象。現在你的邏輯代碼不用再擔心數據庫引擎和表的關系。調用他們的公共方法可以返回任意類型的數據,無論底層需要怎樣的SQL。

              但是程序員不要過度設計DAO。簡化DAO的設計就好,不要增加不需要的功能。

              在github上有一些使用了DAO模式的Repo,有的簡單,有的過度設計了。簡單地說,實現上我們需要一個抽象類(baseDAO)和一些繼承了它的實體類(比如userDAO)。

              在baseDAO中需要定義兩個公共函數:fetch和update,分別獲得一行數據和更新一個數組。還定義一些私有的函數比如鏈接數據庫,還有私有的數據比如當前表的主鍵和表明。

              在userDAO繼承baseDAO的時候,需要聲明私有數據比如主鍵和表明,然后在baseDAO的fetch和update的基礎上自定義一些新的公共函數。這樣做的好處是把生成SQL的工作全部封裝在兩個抽象類的公共函數之中,userDAO以及其他的更多DAO只是調用這一函數而已。

              需要更多的數據存取操作的時候,我們就基于baseDAO新建一個userDAO或者itemDAO,然后實例化這一對象,這就是DAO設計模式。

            【PHP和DAO設計模式】相關文章:

            java設計模式:DAO模式08-18

            PHP中的設計模式詳解06-02

            PHP策略模式定義與用法08-25

            關于PHP的線程安全模式09-07

            對薪酬模式的選擇和設計探討08-06

            PHP 和 MYSQL09-23

            PHP中php://input和$-POST的區別08-26

            Java和PHP的區別09-09

            java和PHP對比09-03

                    <pre id="bbfd9"><del id="bbfd9"><dfn id="bbfd9"></dfn></del></pre>

                    <ruby id="bbfd9"></ruby><p id="bbfd9"><mark id="bbfd9"></mark></p>

                    <p id="bbfd9"></p>

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

                      <th id="bbfd9"><form id="bbfd9"><dl id="bbfd9"></dl></form></th>

                      <p id="bbfd9"><cite id="bbfd9"></cite></p><p id="bbfd9"></p>
                      <p id="bbfd9"><cite id="bbfd9"><progress id="bbfd9"></progress></cite></p>
                      飘沙影院