data representation layer

來源:互聯網
上載者:User

 上個周末我去了一個技術的沙龍,主要的內容是關於開源軟體架構應用與軟體架構。很有意思的一個講座以後還要再去聽。目前我國的軟體有很多的平台和程式設計語言,比如.net  j2ee等,在每個語言裡面還有相應的架構,比如struts,aop。。。我們的編程一般不用從頭開始,而是運用某一種平台,給予某一種架構,進行開發,現在的架構比較多,也不能都應用,在應用中要注意的問題就是,最好直接繼承自pojo對象,我們用起來直接用就好,而不用實現他的某一個特定的介面。

在o/r mapping的層面上,有幾個比較好的開源的工具,比如說jdo,caster,hibernate,這些東西相比較Entity Bean來說是比較light-weight的,比較簡單。在這個層面上我們有很多的選擇,很多中介軟體和平台都有這方面的產品。比如我們的bv平台,他就是使用ContentManager,ContentList,Content,BVI_GenericDBManager這樣的東西來進行我們的最底層的資料庫操作的。其實說白了,這些東西就是語言中的抽象出來的object和relationship database之間的互操作。最最常用的就是直接使用sql語言,在此之上,我們人為的對於系統進行分級,這資料庫和對象之間的操作很自然的就是這一級。我們在定一個類的時候,比如一個Person類,我們同時定義她的PersonManager和PersonContainer這樣子的類,我們在manager裡面可以抽象出Person的增刪改等等操作,比如添加一個person到資料庫,我們直接調用p.Save();就可以了,甚至我們可以對它進行更加深層次的抽象,這時候就需要我們放棄對於資料庫的概念,這時候資料庫對於編程式的人就是透明的了,程式人員只用調用相應的函數就好了。這時候資料庫就是一個更大規模的Container,container.Add(person);就可以了。其實,我們還可以有很多其他的Container,這些container都是裝載在記憶體中的,可以形成各自相應的集合,相互之間是無關的,這些只是初步。我們可以繼承Person類,甚至可以定義一個IPerson的介面,這樣對於我們實現其多態來還是比較有益的。在這樣的基礎上我們就能實現更加物件導向,更加抽象的環境。

一個同學告訴我,在.net的比較簡單的應用中,沒有data representation layer這個層次的東西了,都用aspx直接調用預存程序。。。各村有個村的高招。




相關文章

Cloud Intelligence Leading the Digital Future

Alibaba Cloud ACtivate Online Conference, Nov. 20th & 21st, 2019 (UTC+08)

Register Now >

11.11 Big Sale for Cloud

Get Unbeatable Offers with up to 90% Off,Oct.24-Nov.13 (UTC+8)

Get It Now >

Alibaba Cloud Free Trial

Learn and experience the power of Alibaba Cloud with a free trial worth $300-1200 USD

Learn more >

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。