zoukankan      html  css  js  c++  java
  • 使用AJAX实现ORM的构想

        最近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 );
     

        这只是一个设想,如果有什么不对的地方请大家多多指教,如果后续的工作不忙了抽空把具体的实现代码写出来。
  • 相关阅读:
    WEB服务器3--IIS7.0安装和配置
    组件与组件之间的通信以及vue2.0中的变化、示例
    Vue2.0组件之间通信
    weex学习资源集合贴
    主题 : 好了,今天周六了,既然没人了,那么开讲多线程编程
    使用vue2.0 vue-router vuex 模拟ios7操作
    iOS开发之遍历Model类的属性并完善使用Runtime给Model类赋值
    iOS开发之使用Runtime给Model类赋值
    AFNetworking到底做了什么?
    webview300毫秒点击问题
  • 原文地址:https://www.cnblogs.com/zengezenge/p/824658.html
Copyright © 2011-2022 走看看