小记编程语言的设计
2019-04-30 21:08 音乐让我说 阅读(373) 评论(0) 编辑 收藏 举报前言
首先我们知道,不同的语言的设计思想是相互借鉴的。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); } });
对比
作者:音乐让我说(音乐让我说 - 博客园)
出处:http://music.cnblogs.com/
文章版权归本人所有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。