<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>

                合規國際互聯網加速 OSASE為企業客戶提供高速穩定SD-WAN國際加速解決方案。 廣告
                ### 1、什么是實體? 在我們進行系統構造的目標業務領域里,有一些對象,主要依賴外界進行管理或者處理,這些對象主要處在被加工或者處理的地位,這樣的對象我們稱之為實體對象,而這類對象以數據為住,一般只具有屬性(或者叫域),不包含或只包含少量的內生方法(主要是一些自我處理的方法,這些方法不會操作其它對象,不產生對其它外界對象的依賴,比如克隆,格式化等)。直白的講,實體就是數據性對象,結構體和類都可以用來描述它。實體類是允許嵌套的,即實體類的屬性也可以是另外的實體類型(本身也可)。與實體類相對應的就是操作類(業務類,數據處理類等)。 ### 2、實體操作類 這里的操作類主要是指針對實體進行操作的類,這些操作類除了包含一些必要的用來指導操作方法的屬性外,一般都不包含數據性屬性。操作類包含的方法一般都是針對實體或者實體集合的。通常情況下,操作單個實體和操作實體集合的類會分開。操作單個實體的,比如格式顯示,反射賦值,反射取值;而針對實體集合的則主要是新增,修改,讀取,刪除,查詢,篩選,計數,統計等操作。實體操作類和業務處理類的區別就是實體操作類只針對實體類本身,不帶業務邏輯色彩。從數據庫的角度看,實體操作類就相當于數據庫的sql. ### 3、實體為何要與操作分離 實體代表數據,操作代表處理數據的方法,這種將實體和實體操作分離是面向對象編程下一個比較明智的改變,一方面因為面向對象只是分析和設計的一個視角,并不代表世界的全部,傳統的那種將數據和方法分離的模式(面向過程)還是有其優勢的,特別是在大規模數據處理方面。其二,實體類與實體的操作方法,特別是外界施加給實體的方法,從邏輯上來講也很難理解。我一直覺得,面向過程和面向對象并不是對立的,它們之間是對立和統一的,面向對象側重于整體和全局性,面向過程則注重局部與實現。 實體類和操作的分離的好處: ?? 1)便于存儲、運輸、共享和交換 一般情況下實體都是很簡單的東西,因為不帶有方法,而只有數據,因此便于存儲,運輸,共享和交互。有利于以XML格式進行處理。 2)便于操作復用 如果實體遵循一定的規則(大多時候用元屬性來描述),很多對實體的處理操作都可以通用方法。比如實體的增加,刪除,修改,查詢等。 3)便于與文件系統和數據庫系統的結合 我們知道文件系統和數據庫系統存放的主要是數據,而對于這些數據的處理都是外界附加的。實體與操作的分離,實體就非常適合與結構話的文件數據和數據庫數據進行 轉換,便于在內存中實施對這些數據的處理。 ?? 4)以實體而不是單純的記錄來表示數據,可以很好的利用類的特性,來聚合數據,可以更好的從整體方面來對待這些對象,比如訂單實體,可以將表單頭和訂單明細數據作為整體來考慮。 不好的地方: ???? 1)因為實體只包含屬性,而不提供或者只提供少量的方法,使得原來可以封裝在實體對象內的方法,也必須由外部提供,而且實體必需全面暴露自己。從這個方面來看,站在面向對象的角度講,破壞了對象的封裝性。同時由于實體主要包含的是靜態特征,多態,繼承的作用不是很大(提供一定的接口屬性實現還是可以的)。其實這算不上不好的地方,有些事情沒必要進入“潔癖”狀態。 看到這里,大家或許會發現,實體與操作類的分離,有點數據庫的味道,實際上現在有些持久層框架在某種意義上來講,就是一個簡化的內存關系數據庫,比較典型的就是LINQToSQL,ADONetEntity Framework。 ........ 下一篇,主要講實體框架主要功能和一般架構,對于一些關鍵技術,會提供代碼實現。 同時也歡迎大家指正。
                  <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>

                              哎呀哎呀视频在线观看