使用AJAX實現ORM的構想

來源:互聯網
上載者:User
    最近Ajax比較火,好像是Web應用的救世主一樣,也是Web方面好久沒有什麼能夠炒作的東西了,現在終於找到一個發泄激情的東東了。雖然我個人不認為這個東西有什麼了不起,我總覺得JavaScript之類的東西,起一個粘合劑的東西還可以,指望靠它來挑大樑還是不行的。在Windows平台上我還是比較看好.NET,那個東西本身就有一個可以動態編譯啟動並執行運行時,效能比JavaScript的強的不可道裡計,而且IDE又無比的強悍(以後有時間可以寫一點在.NET下如何在運行時下載代碼、編譯並且執行的技術,估計在SliverLight的最終實現中應該會推.NET而捨棄JavaScript),Ajax總是一個過渡的東西。而且玩Ajax玩的不是技術而是技巧,沒有什麼意思。
    雖然我認為Ajax是一個過渡的東西,但是現在嗎眼球經濟,還是需要學習學習,乘著亂子混幾個錢花花。對於Web資料的傳遞或者說對象的持久解決方案,微軟的方案是提供了一個名為JavaScriptSerializer的鳥東西,通過ASP.NET頁面、Htpp Handler或者ASHX頁面實現的Http Handler來將一個對象序列化成為一個Josn字串或者將一個Josn字元傳序列化為一個對象。雖然比較靈活,但是我還是覺得實現的不太透明,對於程式員來來說需要乾的事情太多了。
    我想如果能夠在Web用戶端提供一個JavaScript實現的Session類,這個類提供對象的持久化操作,在伺服器端也提供一個Handler來負責響應Session類的請求,並且使用反射或者其它的技術(例如資料驅動等)來將Session的請求調度到對象持久層,這樣就完全解決了需要為Web用戶端提供很多的Handler來處理一堆鬆散請求的問題,使代碼更加的嚴謹。
    用戶端虛擬碼:
    Net.Session = function{};
    //查詢對象
    var projects = Net.Session.Query("Project","Some Condition");
    //刪除對象
    projects.Delete();
    Net.Session.Submit( projects );
    //更新對象
    project[0].Name = "使用AJAX實現ORM的構想";
    Net.Session.Submit( projects );
    //新增對象,在用戶端保留了對象的原型,如果沒有記錄則到伺服器端請求一個新對象
    var newProject = Net.Session.New("Project");
    newProject.Name = "使用AJAX實現ORM的構想";
    Net.Session.Submit( newProject );
   
    //伺服器端
    var object = Parser.Parse( request );
    Net.Session.Submit( object );
 

    這隻是一個設想,如果有什麼不對的地方請大家多多指教,如果後續的工作不忙了抽空把具體的實現代碼寫出來。

相關文章

聯繫我們

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

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

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.