• 基于Ajax的新式服务模型


    总的思想:

    将后台的服务与前台的 js 函数签名自动同步,一个服务由开发者在一个地方进行维护。

    受到博客园文章的影响:http://www.cnblogs.com/wzcheng/archive/2010/05/20/1739810.html

    服务方法的自动暴露与代理js函数的自动生成

    function SetPhotoShareMode()
    {
        var tPhotoID = $id("Photo_ID").innerText;
        var tShareMode = $("#SelectShareMode").val();
        if (tShareMode=="NotSet")
        {
            alert("没有选择共享属性!");
            return;
        }
        if (confirm("此操作将影响照片的共享性,请确认是否执行?","执行","取消"))
        {
            $.post("/AjaxServer/Server.ashx?service=photo&method=SetShareMode", {id:tPhotoID,ShareMode:tShareMode }, function(data){ ShowJSONMsg(data);} );   
        }
    }

    AjaxServer/Server.ashx?service=photo&method=SetShareMode&format=js

    == photo/SetShareMode.javascript

    .javascript 为虚拟文件,最终指向  AjaxServer/Server.ashx?service=photo&method=SetShareMode&format=js

    而上面的服务在 Format=js 时自动生成包装其 SetShareMode 的 js 函数;

    客户端的应用:
    1、将上面的 .javascript 虚拟文件插入网页,这就是自动生成的js文件
    2、在页面上使用js的 SetShareMode(photoid,sharemode); 方法调用后台的服务即可。

    API文档的自动化与同步:

    所以客户端的任务就是一个:只需要知道一个 js 方法如何使用就行了。
    如果不知道如何使用,使用  AjaxServer/Server.ashx?service=photo&method=SetShareMode&format=api 即可调出参考

    当然,后台的所有服务应该有一个总的 api 可供参考,如此,则前台人员随时可以有完整的文档可以看。

    文档的编写应该由程序员自己完成,就写在自己开发的类当中,与代码一起编辑。自己写的东西自己看,系统再准备一个测试工具,提供给程序查阅自己的程序,随时保证代码正确,并且文档正确。

    api如何保证安全呢?

    在交付后,采用系统的一个变量,指示一下系统当前的状态,如果是发布状态,就不要出现文档。
    在应用程序出现问题后,如果需要查看api文档,登录应用程序的后台,将系统的状态设置一下即可。

  • 相关阅读:
    设计模式之外观模式(结构型)
    Oracle merge合并更新函数
    前端自定义搜索框实现
    Easyui学习整理笔记
    Jquery+Eayui实现列表选择功能
    Oracle SQL优化器简介
    设计模式之原型模式(创建型)
    Mysql学习笔记整理手册
    Oracle和Mysql语法异同整理笔记
    Mysql实现树形递归查询
  • 原文地址:https://www.cnblogs.com/chinaontology/p/1762789.html
Copyright © 2020-2023  润新知