zoukankan      html  css  js  c++  java
  • 小记编程语言的设计

    前言

    首先我们知道,不同的语言的设计思想是相互借鉴的。ASP.NET Core 随着微软的全面开放,导致它有机会重新设计 HTTP 请求、响应管道,老旧的 ASP.NET 已经不能很好地满足人们对新时代 Web 3.0 的期待,故重新设计意味着微软可以弯道超车,用及其优美的语言、框架设计,赢得开发者的信心。ASP.NET Core 相信大家对它已经很熟悉了,“中间件” 类似于 ASP.NET 时代的 "HttpModule",在 Core 中处于极其重要的地位,甚至可以说要想了解 Core,第一步就是了解中间件。ReqeustDelegate 看似一个普通的委托,实际上它承载着 ASP.NET Core 的脊髓,之前在 LINQ 时代,IEnumerable<T> 接口的链式调用,让软件开发人员感到无比的爽快。众所周知, jQuery 的链式调用也让前端开发人员有过一段无比流畅的经历,今天笔者无意中想到,原来 javascript 的回调函数 和 ASP.NET Core 中的 ReqeustDelegate 竟然如此的相似。下面看两段代码,一段 C#,一段 Javascript。

    C#

        public class InstallUrlMiddleware
        {
            private readonly RequestDelegate _next;
    
            public InstallUrlMiddleware(RequestDelegate next)
            {
                _next = next;
            }
    
            public async Task Invoke(HttpContext context, IWebHelper webHelper)
            {
                if (new Random().Next(1,11) > 5)
                {
                    context.Response.Redirect("https://www.google.com/");
                    return;
                }
                await _next(context);
            }
        }

    JavaScript

    $('#autocomplete').autocomplete({
        lookup: function (query, done) {
            // Do Ajax call or lookup locally, when done,
            // call the callback and pass your results:
            var result = {
                suggestions: [
                    { "value": "United Arab Emirates", "data": "AE" },
                    { "value": "United Kingdom",       "data": "UK" },
                    { "value": "United States",        "data": "US" }
                ]
            };
    
            done(result);
        },
        onSelect: function (suggestion) {
            alert('You selected: ' + suggestion.value + ', ' + suggestion.data);
        }
    });

    对比

  • 相关阅读:
    bzoj1878: [SDOI2009]HH的项链
    bzoj1053: [HAOI2007]反素数ant
    bzoj2456: mode
    bzoj2330: [SCOI2011]糖果
    bzoj1050: [HAOI2006]旅行comf
    bzoj1047: [HAOI2007]理想的正方形
    bzoj1968: [Ahoi2005]COMMON 约数研究
    bzoj1046: [HAOI2007]上升序列
    bzoj2440: [中山市选2011]完全平方数
    bzoj1202: [HNOI2005]狡猾的商人
  • 原文地址:https://www.cnblogs.com/Music/p/the-design-of-programming-language.html
Copyright © 2011-2022 走看看