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);
        }
    });

    对比

  • 相关阅读:
    ACM: HDU 2544 最短路-Dijkstra算法
    ACM: HDU 1874 畅通工程续-Dijkstra算法
    ACM: SGU 101 Domino- 欧拉回路-并查集
    ACM: HDU 1285 确定比赛名次
    ACM: hdu 2647 Reward -拓扑排序
    ACM: hdu 1811 Rank of Tetris
    ACM: poj 1094 Sorting It All Out
    ACM: hihicoder #1174 : 拓扑排序·一 STL- queue
    ACM: CodeForces 140A New Year Table-数学几何
    POJ 3122 Pie 二分枚举
  • 原文地址:https://www.cnblogs.com/Music/p/the-design-of-programming-language.html
Copyright © 2011-2022 走看看