精华内容
下载资源
问答
  • 什么是前后端分离? 真的需要前后端分离吗? 前后端分离将遇到的那些挑战 前后端分离的核心:后台提供数据,前端负责显示 输出逻辑:数据显示 不可避免的前端逻辑:表单 SEO 优化技巧 搜索引擎优化都...
  • 对token(令牌)的理解

    2021-04-10 21:00:33
    随着交互式WEB应用的兴起,像购物网站、需要登录的网站等,这就需要区分每个用户,因为HTTP协议无状态的,无状态的意思就是服务器不保存与客户端交互的任何状态,也就是说,上一次请求对这次没有任何影响,每一次...

    1 、若是单纯的浏览文档,不需要记录是谁发送了请求,在某一段时间里浏览了什么,每一次都是一个新的请求。
    随着交互式WEB应用的兴起,像购物网站、需要登录的网站等,这就需要区分每个用户,因为HTTP协议是无状态的,无状态的意思就是服务器不保存与客户端交互的任何状态,也就是说,上一次请求对这次没有任何影响,每一次请求都是新的。一开始是使用session和cookie机制,见文档“https://blog.csdn.net/weixin_42037528/article/details/115584069”

    这样一来每个人都只需要保存自己的session id,而服务器要保存所有用户的session id,占用服务器空间,而且严重限制了服务器的扩展能力。比如用两个机器做了一个集群,小Q通过机器A登陆了系统,那么sesssion id 会保存在机器A上,假设小Q下次请求被转到机器B该怎么办,机器B没有小Q的session id 。
    方法1:session sticky,即请求粘连,让小Q的请求一直粘连在机器A上,但是万一机器A挂掉了,请求还是需要转到机器B上去。
    方法2:session复制,把session id在2个机器之间搬来搬去,快累死了
    方法3:Memcached想出来吧session集中存储到某个地方,所有的机器都来这个地方访问,这样一来,要是负责存储session的机器挂掉了,所有人都得重新登录一遍。
    2、token(令牌) :验证机制
    小Q第一次登录到系统中,服务器发一个token(令牌)给她,里面包含和user id,下一次小Q在次通过HTTP请求访问该服务器的时候,把这个token通过HTTP header带过来
    不过这和sessionid 没有任何区别啊。任何人都可以伪造,所以得想办法让别人伪造不了。
    那就对数据做一个签名,比如使用HMAC-SHA256算法,加上一个只有我知道的密钥,对数据做一个签名,把这个签名和数据作为token,由于别人不知道密钥,就无法伪造token了。

    在这里插入图片描述
    这个token我不保存,当小Q吧这个token发给我的时候,我在用同样的HMAC—SHA256算法和同样的密钥,对数据在做一次签名,和token中的签名作比较,如果相同,服务器就知道小Q已经登陆过了,并且可以直接获取小Q的user id ,数据被人篡改过,我就告诉发送者:对不起,没有认证。

    在这里插入图片描述
    token中的数据是明文保存的(虽然会用base64坐下编码,但那不是加密),还是可以被人看到,所以不能保存向密码这样的敏感信息。
    当然,若果token被人偷走了,那我也没有办法,我也会认为小偷是合法用户,这其实和sessionid被别人偷走是一样的。
    这样一来,我就不保存session id了,我只是生成token,然后验证token,我用我的CPU计算时间获取了我的session存储空间。

    展开全文
  • Javascript一种非常通用的语言,从编程机器人到制作交互式网站Javscript几乎遍布各地,但最有趣的使用制作动画,的,您可以使用Javascript制作有吸引力的动画。在本教程中,我们将学习如何使用Javascript制作...

    Javascript是一种非常通用的语言,从编程机器人到制作交互式网站Javscript几乎遍布各地,但最有趣的使用是制作动画,是的,您可以使用Javascript制作有吸引力的动画。

    在本教程中,我们将学习如何使用Javascript制作移动汽车动画,但首先我们将向您介绍setInterval(),该方法用于在指定的时间间隔内一次又一次地调用特定函数

    setInterval()是一个javscript方法,用于在指定的时间间隔内一次又一次调用特定的函数,setInterval()的语法如下所示

    setInterval(函数名称,以ms为单位)

    现在我们将设计一款像看起来的结构(请不要指望法拉利)使用HTML和CSS的汽车。首先在计算机中的某个地方创建一个文件夹,并在其中创建三个新文件命名car.html,style.css和animation.js

    现在在car.html中输入以下HTML代码

    car

    现在打开你的style.css文件并输入下面的代码

    .wheel{

    width:50px;

    height:50px;

    border-radius:100%;

    background:black;

    margin:-20px 10px 0 10px

    }

    .flt-left{

    float:left;

    }

    .flt-right{

    float:right;

    }

    .clear{

    clear:both

    }

    .car{

    width:250px

    }

    .car-head{

    width:60%;

    margin:auto;

    background:red;

    height:70px;

    }

    .car-bottom{

    width:100%;

    margin:auto;

    background:red;

    height:50px;

    }

    现在打开你的car.html文件,你会得到一个甜美和简单的汽车出现在你的屏幕上,它可能看起来像下面所示

    848be1b07aab

    但现在我们的车没有发动机,所以我们来为它编写引擎。打开你的animation.js文件,并在其中键入以下Javascript代码。

    var car = document.getElementsByClassName("car");

    var leftOffset = 0;

    function move(){

    car[0].style.marginLeft = leftOffset+"px";

    leftOffset += 5;

    if(leftOffset > 500){

    leftOffset = 0;

    }

    };

    setInterval(move,30);

    上面的代码具有限定容器的大小leftOffse函数移动车和在每次调用它递增的值左偏移5像素,并且通过使用setInterval函数我们要求在每30毫秒的移动功能。现在打开你的car.html,hurray!你的车正在移动

    848be1b07aab

    谢谢你的阅读。

    了解更多资讯请关注微信公众号:芒果web 或者微信搜索(javascriptes6)

    将您的查询和反馈发送到我们的微信公众号或在我们的QQ群460582514讨论。您也可以在下面评论您的问题。

    另外,别忘了订阅我们。

    如果你喜欢这篇文章,那么请分享一下,帮助我们成长。

    展开全文
  • WebForm页面使用Ajax

    2012-01-29 17:27:00
    关于ajax我相信做B/S开发的程序员都不陌生,在做电子商务网站,还是其他的B/S架构的系统,ajax使用的都特别频繁。...指一种创建交互式网页应用的网页开发技术。AJAX并非缩写词,而是由Jesse James Gaiiett创造的名词...

     关于ajax我相信做B/S开发的程序员都不陌生,在做电子商务网站,还是其他的B/S架构的系统,ajax使用的都特别频繁。那么ajax是什么呢?

      AJAX:”Asynchronous JavaScript and XML”
      中文意思:异步JavaScript和XML。指一种创建交互式网页应用的网页开发技术。AJAX并非缩写词,而是由Jesse James Gaiiett创造的名词。
      AJAX不是指一种单一的技术,而是有机地利用了一系列相关的技术:
      1、web标准( Standards-Based Presentation )XHTML+CSS的表示;
      2、使用 DOM( Document Object Model )进行动态显示及交互;
      3、使用 XML 和 XSLT 进行数据交换及相关操作,使用 XMLHttpRequest 进行异步数据查询、检索.
       简单理解为:JavaScript + XMLHttpRequest + CSS +服务器端 的集合.废话少说,下面直接上代码(这里我只写以Post方式发送请求的代码,关于JQuery中使用ajax跟以Get方式发送请求,我就不写了),在下面的代码中,我会从建立异步对象,到在WebForm页面中使用异步对象来说说我的体会。
     
    1、用js创建兼容浏览器的ajax异步对象
    function createAjax() {
    var ajaxObject = false;
    try {
    ajaxObject = new ActiveXObject("Msxml2.XMLHTTP");
    } catch (e) {
    try {
    ajaxObject = new ActiveXObject("Microsoft.XMLHTTP");
    } catch (e) {
    ajaxObject = false;
    }
    }
    if (!ajaxObject && typeof (XMLHttpRequest) != 'undefinded') {
    ajaxObject = new XMLHttpRequest();
    }
    return ajaxObject;
    }
     2、页面中ajax的使用
    <script type="text/javascript">
    var ajaxObject;
    window.onload = function () {
    ajaxObject = createAjax();
    getControl("btnOK").onclick = submitData1;
    }
    function submitData1() {
    var txtName = getControl("txtName").value;
    //以Post方式请求发送请求
    ajaxObject.open("POST", "ResponseEnd.aspx", true);
    //以Post方式发送异步请求需要设置请求头
    ajaxObject.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
    ajaxObject.onreadystatechange = function () {
    if (ajaxObject.readyState == 4) {
    //状态200表示异步对象已经完全接收完服务器响应的数据
    if (ajaxObject.status == 200) {
    var res = ajaxObject.responseText;
    alert(res);
    }
    }
    }
    //发送异步请求(Post方式发送请求在send里面书写自己要发送给服务器的参数)
    ajaxObject.send("flag=1&name=" + txtName);
    }
    </script>
    3、后台页面ResponseEnd.aspx.cs对数据的处理
    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Web;
    using System.Web.UI;
    using System.Web.UI.WebControls;
      
    namespace Web
    {
        public partial class ResponseEnd : System.Web.UI.Page
        {
            protected void Page_Load(object sender, EventArgs e)
            {
                if (!string.IsNullOrEmpty(Request["flag"]))
                {
      
                    ShuChu();
                }
            }
            private void ShuChu()
            {
                #region 方法一
                //try
                //{
                //    string name = Request["name"];
                //    Response.Write(name);
                //}
                //catch (Exception ex)
                //{
                //    throw new Exception(ex.Message);
                //}
                //finally
                //{
                //    Response.End();
                //} 
                #endregion
      
                #region 方法二
                //try
                //{
                //    string name = Request["name"];
                //    Response.Write(name);
                //    this.Page.Visible = false;
                //    Context.ApplicationInstance.CompleteRequest();
                //}
                //catch (Exception ex)
                //{
                //    throw new Exception(ex.Message);
                //} 
                #endregion
      
                try
                {
                    string name = Request["name"];
                    Response.Write(name);
                    Response.End();
                }
                catch (System.Threading.ThreadAbortException ex)
                {
                }
                catch (Exception ex)
                {
                    throw new Exception(ex.Message);
                
            }
        }
    }

      关于Ajax,我相信做B/S开发的大虾大牛们都特别的熟练,我写这篇博客主要是针对在WebForm中使用ajax的时候,我们后台输出我们想要的数据的时候要注意的地方,那就是:我们在Response.Write("data")输出我们想要的数据,但是我们不想同时把页面的html代码也输出那怎么办?(如果异步对象把请求发送到一个ashx页面中,或者发送到一个把前台页面中的html代码给删除掉的aspx页面中,我们也不用操心如何过滤掉html代码,但开发中有的需求就是不能这样处理),很多人用Response.End()来终止当前页面的执行。这样没错,但是要注意一点,如果你是try...catch里面使用了Response.End()的话,会被捕捉到一个异常:线程被中止"。这是因为:

    Response.End 方法终止页的执行,并将此执行切换到应用程序的事件管线中的Application_EndRequest 事件,同时抛出ThreadAbortException 异常,异常信息为“正在中止线程”。

     

    那如果我在WebForm中使用ajax,并且是把请求发送给本页面,同时我在后台页面中只输出我想要的数据,但不想输出页面的html代码那怎么办呢?这个我在上面的代码中写的很清楚了,我提供了三种解决方案,有碰到这个问题的各位朋友,可以参考我在ResponseEnd.aspx.cs里面写的代码,三种方式都能达到我们预期的效果。

      深入去学习ajax的话,我觉得这里头的学问很大,哈哈,小弟不才,写了这篇博客,希望各位不要笑话。如果哪位觉得可以看看的话就看看,觉得不堪的话,就一笑置之吧,呵呵。

    转载于:https://www.cnblogs.com/chaoa/archive/2012/01/29/2331314.html

    展开全文
  • 关于ajax我相信做B/S开发的程序员都不陌生,在做电子商务网站,还是其他的B/S架构的系统,ajax使用的都特别频繁。...指一种创建交互式网页应用的网页开发技术。AJAX并非缩写词,而是由Jesse James Gaiiett创造的名...

      关于ajax我相信做B/S开发的程序员都不陌生,在做电子商务网站,还是其他的B/S架构的系统,ajax使用的都特别频繁。那么ajax是什么呢?

      AJAX:”Asynchronous JavaScript and XML”
      中文意思:异步JavaScript和XML。指一种创建交互式网页应用的网页开发技术。AJAX并非缩写词,而是由Jesse James Gaiiett创造的名词。
      AJAX不是指一种单一的技术,而是有机地利用了一系列相关的技术:
      1、web标准( Standards-Based Presentation )XHTML+CSS的表示;
      2、使用 DOM( Document Object Model )进行动态显示及交互;
      3、使用 XML 和 XSLT 进行数据交换及相关操作,使用 XMLHttpRequest 进行异步数据查询、检索.
       简单理解为:JavaScript + XMLHttpRequest + CSS +服务器端 的集合.废话少说,下面直接上代码(这里我只写以Post方式发送请求的代码,关于JQuery中使用ajax跟以Get方式发送请求,我就不写了),在下面的代码中,我会从建立异步对象,到在WebForm页面中使用异步对象来说说我的体会。
     
    1、用js创建兼容浏览器的ajax异步对象
    function createAjax() {
    var ajaxObject = false;
    try {
    ajaxObject = new ActiveXObject("Msxml2.XMLHTTP");
    } catch (e) {
    try {
    ajaxObject = new ActiveXObject("Microsoft.XMLHTTP");
    } catch (e) {
    ajaxObject = false;
    }
    }
    if (!ajaxObject && typeof (XMLHttpRequest) != 'undefinded') {
    ajaxObject = new XMLHttpRequest();
    }
    return ajaxObject;
    }
     2、页面中ajax的使用
    <script type="text/javascript">
    var ajaxObject;
    window.onload = function () {
    ajaxObject = createAjax();
    getControl("btnOK").onclick = submitData1;
    }
    function submitData1() {
    var txtName = getControl("txtName").value;
    //以Post方式请求发送请求
    ajaxObject.open("POST", "ResponseEnd.aspx", true);
    //以Post方式发送异步请求需要设置请求头
    ajaxObject.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
    ajaxObject.onreadystatechange = function () {
    if (ajaxObject.readyState == 4) {
    //状态200表示异步对象已经完全接收完服务器响应的数据
    if (ajaxObject.status == 200) {
    var res = ajaxObject.responseText;
    alert(res);
    }
    }
    }
    //发送异步请求(Post方式发送请求在send里面书写自己要发送给服务器的参数)
    ajaxObject.send("flag=1&name=" + txtName);
    }
    </script>
    3、后台页面ResponseEnd.aspx.cs对数据的处理
    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Web;
    using System.Web.UI;
    using System.Web.UI.WebControls;
    
    namespace Web
    {
        public partial class ResponseEnd : System.Web.UI.Page
        {
            protected void Page_Load(object sender, EventArgs e)
            {
                if (!string.IsNullOrEmpty(Request["flag"]))
                {
    
                    ShuChu();
                }
            }
            private void ShuChu()
            {
                #region 方法一
                //try
                //{
                //    string name = Request["name"];
                //    Response.Write(name);
                //}
                //catch (Exception ex)
                //{
                //    throw new Exception(ex.Message);
                //}
                //finally
                //{
                //    Response.End();
                //} 
                #endregion
    
                #region 方法二
                //try
                //{
                //    string name = Request["name"];
                //    Response.Write(name);
                //    this.Page.Visible = false;
                //    Context.ApplicationInstance.CompleteRequest();
                //}
                //catch (Exception ex)
                //{
                //    throw new Exception(ex.Message);
                //} 
                #endregion
    
                try
                {
                    string name = Request["name"];
                    Response.Write(name);
                    Response.End();
                }
                catch (System.Threading.ThreadAbortException ex)
                {
                }
                catch (Exception ex)
                {
                    throw new Exception(ex.Message);
                } 
            }
        }
    }
    

      关于Ajax,我相信做B/S开发的大虾大牛们都特别的熟练,我写这篇博客主要是针对在WebForm中使用ajax的时候,我们后台输出我们想要的数据的时候要注意的地方,那就是:我们在Response.Write("data")输出我们想要的数据,但是我们不想同时把页面的html代码也输出那怎么办?(如果异步对象把请求发送到一个ashx页面中,或者发送到一个把前台页面中的html代码给删除掉的aspx页面中,我们也不用操心如何过滤掉html代码,但开发中有的需求就是不能这样处理),很多人用Response.End()来终止当前页面的执行。这样没错,但是要注意一点,如果你是try...catch里面使用了Response.End()的话,会被捕捉到一个异常:线程被中止"。这是因为:

    Response.End 方法终止页的执行,并将此执行切换到应用程序的事件管线中的Application_EndRequest 事件,同时抛出ThreadAbortException 异常,异常信息为“正在中止线程”。

     

    那如果我在WebForm中使用ajax,并且是把请求发送给本页面,同时我在后台页面中只输出我想要的数据,但不想输出页面的html代码那怎么办呢?这个我在上面的代码中写的很清楚了,我提供了三种解决方案,有碰到这个问题的各位朋友,可以参考我在ResponseEnd.aspx.cs里面写的代码,三种方式都能达到我们预期的效果。

      深入去学习ajax的话,我觉得这里头的学问很大,哈哈,小弟不才,写了这篇博客,希望各位不要笑话。如果哪位觉得可以看看的话就看看,觉得不堪的话,就一笑置之吧,呵呵。

    转载于:https://www.cnblogs.com/happylinjie/archive/2012/01/25/2329406.html

    展开全文
  • 除了以上特性,我们还用心为您准备了更多的贴心功能等待您的发现……常见问题:1、开源可定制是什么意思软件代码开放,懂技术的可以自己调整或者新增功能,如果自己对技术不太懂可以联系我们公司给您定制您需要的...
  • 1、开源可定制是什么意思 软件代码开放,懂技术的可以自己调整或者新增功能,如果自己对技术不太懂可以联系我们公司给您定制您需要的功能 2、房哨只能用于房产运营吗 房哨是针对房产运营开发的版本,可以多中介...
  • 1、开源可定制是什么意思 软件代码开放,懂技术的可以自己调整或者新增功能,如果自己对技术不太懂可以联系我们公司给您定制您需要的功能 2、开单大师只能用于房产吗 目前开单大师只针对写字楼、商铺、二手房、...
  • 1、开源可定制是什么意思 软件代码开放,懂技术的可以自己调整或者新增功能,如果自己对技术不太懂可以联系我们公司给您定制您需要的功能 2、开单大师只能用于房产吗 目前开单大师只针对写字楼、商铺、二手...
  • 1、开源可定制是什么意思 软件代码开放,懂技术的可以自己调整或者新增功能,如果自己对技术不太懂可以联系我们公司给您定制您需要的功能 2、开单大师只能用于房产吗 目前开单大师只针对写字楼、商铺、二手房...
  • 1、开源可定制是什么意思 软件代码开放,懂技术的可以自己调整或者新增功能,如果自己对技术不太懂可以联系我们公司给您定制您需要的功能 2、开单大师只能用于房产吗 目前开单大师只针对写字楼、商铺、二手房...
  • 开单大师学习版

    2021-04-06 17:34:45
    除了以上特性,开单大师还用心为您准备了更多的贴心功能等待您的发现……常见问题:1、开源可定制是什么意思软件代码开放,懂技术的可以自己调整或者新增功能,如果自己对技术不太懂可以联系我们公司给您定制您需要...
  • 1、开源可定制是什么意思 软件代码开放,懂技术的可以自己调整或者新增功能,如果自己对技术不太懂可以联系我们公司给您定制您需要的功能 2、开单大师只能用于房产吗 目前开单大师只针对写字楼、商铺、二手房...
  • 1、开源可定制是什么意思 软件代码开放,懂技术的可以自己调整或者新增功能,如果自己对技术不太懂可以联系我们公司给您定制您需要的功能 2、开单大师只能用于房产吗 目前开单大师只针对写字楼、商铺、二手房...
  • 1、开源可定制是什么意思 软件代码开放,懂技术的可以自己调整或者新增功能,如果自己对技术不太懂可以联系我们公司给您定制您需要的功能 2、房哨只能用于房产运营吗 房哨是针对房产运营开发的版本,可以多中介...
  • 房哨1.3.8学习版.rar

    2019-06-05 16:43:27
    1、开源可定制是什么意思 软件代码开放,懂技术的可以自己调整或者新增功能,如果自己对技术不太懂可以联系我们公司给您定制您需要的功能 2、房哨只能用于房产运营吗 房哨是针对房产运营开发的版本,可以多中介...
  • SEO编程PHP中文版

    2013-02-01 15:32:53
    8.1 帽子是什么意思 8.2 绕过规则 8.3 黑帽技术分析 8.3.1 攻击避免 8.3.2 HTML插入攻击 8.3.3 使用Nofollow避免回帖攻击 8.3.4 清理用户输入 8.3.5 要求手工输入 8.3.6 301重定向攻击 8.3.7 内容盗窃 ...
  • 房哨1.3.8学习版.zip

    2019-06-30 17:34:22
    1、开源可定制是什么意思 软件代码开放,懂技术的可以自己调整或者新增功能,如果自己对技术不太懂可以联系我们公司给您定制您需要的功能 2、房哨只能用于房产运营吗 房哨是针对房产运营开发的版本,可以多中介...
  • 房哨1.4.0学习版.zip

    2019-06-26 17:43:11
    1、开源可定制是什么意思 软件代码开放,懂技术的可以自己调整或者新增功能,如果自己对技术不太懂可以联系我们公司给您定制您需要的功能 2、房哨只能用于房产运营吗 房哨是针对房产运营开发的版本,可以多中介...
  • 1、开源可定制是什么意思 软件代码开放,懂技术的可以自己调整或者新增功能,如果自己对技术不太懂可以联系我们公司给您定制您需要的功能 2、开单大师只能用于房产吗 目前开单大师只针对写字楼、商铺、二手...
  • 1、开源可定制是什么意思 软件代码开放,懂技术的可以自己调整或者新增功能,如果自己对技术不太懂可以联系我们公司给您定制您需要的功能 2、房哨只能用于房产运营吗 房哨是针对房产运营开发的版本,可以多中介...
  • 房哨1.3.7学习版.zip

    2019-05-31 10:53:02
    1、开源可定制是什么意思 软件代码开放,懂技术的可以自己调整或者新增功能,如果自己对技术不太懂可以联系我们公司给您定制您需要的功能 2、房哨只能用于房产运营吗 房哨是针对房产运营开发的版本,可以多中介...
  • 8.1 帽子是什么意思 8.2 绕过规则 8.3 黑帽技术分析 8.3.1 攻击避免 8.3.2 HTML插入攻击 8.3.3 使用Nofollow避免回帖攻击 8.3.4 清理用户输入 8.3.5 要求手工输入 8.3.6 301重定向攻击 8.3.7 内容盗窃 8.3.8 关于...
  • 房哨1.3.6学习版(1).rar

    2019-05-26 10:44:49
    1、开源可定制是什么意思 软件代码开放,懂技术的可以自己调整或者新增功能,如果自己对技术不太懂可以联系我们公司给您定制您需要的功能 2、房哨只能用于房产运营吗 房哨是针对房产运营开发的版本,可以多中介...
  • 房哨1.3.6学习版.rar

    2019-05-23 14:52:06
    1、开源可定制是什么意思 软件代码开放,懂技术的可以自己调整或者新增功能,如果自己对技术不太懂可以联系我们公司给您定制您需要的功能 2、房哨只能用于房产运营吗 房哨是针对房产运营开发的版本,可以多中介...
  • 8.1 帽子是什么意思 8.2 绕过规则 8.3 黑帽技术分析 8.3.1 攻击避免 8.3.2 HTML插入攻击 8.3.3 使用Nofollow避免回帖攻击 8.3.4 清理用户输入 8.3.5 要求手工输入 8.3.6 301重定向攻击 8.3.7 内容盗窃 8.3.8 关于...
  • 27、GC是什么? 为什么要有GC?  GC是垃圾收集的意思(Gabage Collection),内存处理是编程人员容易出现问题的地方,忘记或者错误的内存回收会导致程序或系统的不稳定甚至崩溃,Java提供的GC功能可以自动监测对象...
  • java 面试题 总结

    2009-09-16 08:45:34
    24、GC是什么? 为什么要有GC?  GC是垃圾收集的意思(Gabage Collection),内存处理是编程人员容易出现问题的地方,忘记或者错误的内存回收会导致程序或系统的不稳定甚至崩溃,Java提供的GC功能可以自动监测对象...
  • 二十三种设计模式【PDF版】

    热门讨论 2011-05-30 14:13:49
    如果你还不了解设计模式是什么的话? 那就先看设计模式引言 ! 学习 GoF 设计模式的重要性 建筑和软件中模式之异同 A. 创建模式 设计模式之 Singleton(单态/单件) 阎宏博士讲解:单例(Singleton)模式 保证...

空空如也

空空如也

1 2
收藏数 34
精华内容 13
关键字:

交互式网站是什么意思