dto(vo):也就是一般意義上的vo,封裝後的物件。一般用於web層—service層間的資料傳輸入。
po:也就是一般概念上的domain object,如hibernate 中的entity.一般用於service層--dao層間的資料傳輸。
大多數web應用是沒有vo的,直接po貫穿 web-service-dao三層;有些應用,尤其企業級應用開發,會用vo。
如果用vo,那麼就要涉及到po和vo之間的轉換,增加很多**量,每層互動都要做物件轉換,重複**多, 增加研發和維護的人力成本。
但vo的作用有兩種:
模組隔離:對外暴露,遮蔽內部實現。
分布式支援:用於非同步傳輸;
1.vo是對前端需要展示資料的封裝。vo可以包含po的所有屬性,也可以包含po的部分屬性,也可以包含po沒有的屬性。vo以前端展示需要而進行屬性的設計。
2.vo是資料傳輸類,po是持久類,兩個的作用不一樣。
3.如果存在繼承關係,那麼他們倆某種意義上就是有關聯的了父子關係了。這與分層思想不符,明顯不合適。
文章推薦:
dto層的思考
設計模式與架構設計
論設計模式在架構設計中的運用 設計模式 在我們現實的軟體專案開發中,常常會遇到一次又一次的關於軟體設計上的問題,而設計模式就針對那些問題提供了一系列的解決方案。設計模式是一種較高層次程式結構的設計策略 是一種技巧,它著重於為軟體系統 子系統內部的各物件間提供乙個良好的通訊平台,協調各者之間的關係,使...
DNS在架構設計中的巧用
苦學 2017 05 17 10 00 一 緣起 乙個http請求從客戶端到服務端,整個執行流程是怎麼樣的呢?乙個典型流程如上 1 客戶端通過網域名稱daojia.com請求dns server 2 dns server返回網域名稱對應的外網ip 1.2.3.4 3 客戶端訪問外網ip 1.2.3....
iOS設計模式與架構設計
ios開發中常用的設計模式有以下幾種 1 mvc模式 2 委託 模式 3 觀察者模式 架構設計 好的架構設計可以提高開發效率 減少 冗餘 提高元件模組的可復用性等優點。ios開發中通常採用是是分層架構設計,其目的是降低耦合,同時提高應用的可復用性 可擴充套件性。1 表示層 ios中的表示層是由uik...