译:微软发布.NET应用架构指南草案
原文《Microsoft Announces Draft .NET Architecture Guidance》
译注:上周微软发布了全新的《.NET应用架构指南》草案,以征求社区的意见。笔者作为.NET技术的爱好者,很高兴看到微软发布了这样一份很全面的符合时代变化趋势的应用架构指南。虽然目前这份指南还在草案阶段,但在微服务、跨平台等概念的时兴之下,感觉像是微软在变革中吹响的又一次冲锋号,对于一个.net 爱好者也像是一次集结号。笔记将持续对这份指南中的详细内容进行逐步翻译。
近日,微软开发者部和Visual Studio产品团队联合发布了四份应用架构指南草案。这些草案涵盖四个领域:微服务和Docker,ASP.NET Web应用程序,Azure云部署和Xamarin移动应用程序。每份指南由对应主题的一组文档组成。微软希望得到一般社区对这些文件草案的反馈意见。
微服务和Docker容器指南,包括一份名为《.NET容器化应用的微服务架构》的电子书(后文简称:架构电子书),一份名为《.NET平台及工具下的容器化Docker应用的生命周期》的电子书(后文简称:DevOps电子书),一个名为“eShopOnContainers”的示例应用程序,以及一个什么是合适设计模式的视频讨论。 架构电子书是关于开发微服务并用容器进行管理的介绍,并引用了示例应用程序。书中涵盖了如何选择适当的Docker容器以及如何进行部署,还包括如何设计和开发多容器的,基于微服务的.NET应用程序,以及应用安全的等内容。这份指指南并不依赖特定基础设施(infrastructure agnostic)。 DevOps电子书则介绍了如何使用Microsoft技术实现整个Docker应用程序生命周期。无论是对Docker新手,还是熟悉Docker但还想了解基于微软的技术如何来实现的人,都是非常有用的。
ASP.NET Web应用程序指南,由一本电子书和一个示例应用程序组成。本书提供了有关使用ASP.NET Core和Azure构建单体Web应用程序的指导。它是上一节讨论的微服务和Docker容器指南的补充。该指南涵盖了现代Web应用程序的特性及其架构原理,以及如何开发和测试ASP.NET Core MVC应用程序。
Azure Cloud部署指南,包含一系列参考架构,有关最佳实践的文章,以及一篇设计模式的文章。参考架构按场景排序,包括推荐做法,大多数都有直接可部署的方案。这些参考架构包括:身份管理,混合网络,DMZ网络,Linux和Windows的虚拟机负载,以及托管Web应用程序。关于最佳做法的文章着重于REST和HATEOAS (Hypermedia as the Engine of Application State)。设计模式按类别索引包括:可用性,数据管理,设计和实施,消息传递,管理和监控,性能,可伸缩性,弹性以及安全性。二十四种设计模式也按名称进行了分类编排,以便查找。每个模式描述了要解决的问题,何时使用该模式,以及基于Microsoft Azure的示例。但是这些模式对于任何分布式系统都是通用的。
Xamarin 移动应用程序指南,由一本电子书,一个示例应用程序,和一篇关于架构模式的文章组成。电子书中的指导涵盖使用Xamarin UI工具包构建跨平台企业应用程序。它侧重于核心模式和架构指导,特别是MVVM模式,依赖注入,导航,验证,配置管理,容器化微服务,安全性,远程数据访问和单元测试。该指南引用了示例应用程序。由于该指南作为其它架构指南的补充,微服务,容器和Web应用程序没有被深入的说明。它也没有对Xamarin 表单作详细介绍。对于决策者,在决定跨平台战略之前,也可利用这份指南对架构和技术进行概览。这些模式侧聚焦于关键体系结构的概念,应用层,以及基于MVVM,MVC,Business Facade,Singleton,Provider和Async 等基本移动应用模式。并通过案例对设计模式进行了说明。
译:微软发布.NET应用架构指南草案的更多相关文章
- .NET微服务 容器化.NET应用架构指南(支持.NET Core2)
介绍 企业通过使用容器,日益实现成本节约.解决部署问题并改进 DevOps 和生产操作. 通过创建 Azure 容器服务.Azure Service Fabric 等产品,同时与 Docker.Mes ...
- 实时人工智能:微软发布Project Brainwave预览版 现场可编程门阵列(Field Programmable Gate Array,简称FPGA) 硬件设计可以迅速演进
https://mp.weixin.qq.com/s/bAPiPURZd-YsbV5PbzwpQQ 编者按:随着各大公司对于数据计算的要求越来越高,实时AI成为了研究者们关注的重点.在美国西雅图举行的 ...
- NET 架构指南频道
NET 架构指南频道 微软在Visual Studio 2017 正式发布的时候也上线了一个参考应用https://github.com/dotnet/eShopOnContainers , 最近微软 ...
- 微软发布了开发社区采用.NET Standard的最新信息
最近,微软发布了开发社区当前采用.NET Standard的最新信息..NET Standard是API的正式规范,现有.NET实现在不同平台的是通用的(从而允许跨平台开发).当前规范(版本2.0)在 ...
- 微软发布云端基因服务:推动AI驱动的精准医疗
微软发布云端基因服务:推动AI驱动的精准医疗 2018年03月07日 00:00:00 微软研究院AI头条 阅读数:117 版权声明:本文为博主原创文章,未经博主允许不得转载. https:// ...
- 《容器化.NET应用架构指南》脑图学习笔记(第一部分)
一.关于这本官方“圣经” 作为.NET程序员,对于微软官方推动的架构示例总是特别关注,从PetShop到MusicStore再到eShopOnContainers,每一次关注,都会了解到业界最新的架构 ...
- 微软发布MS MARCO数据集,提高计算机阅读理解能力
MARCO数据集,提高计算机阅读理解能力" title="微软发布MS MARCO数据集,提高计算机阅读理解能力"> 本文译自:Microsoft data ...
- 官宣!微软发布 VS Code Server!
北京时间 2022 年 7 月 7 日,微软在 VS Code 官方博客中宣布了 Visual Studio Code Server! 远程开发的过去与未来 2019 年,微软发布了 VS Code ...
- 微软发布独立Android模拟器 为开发者提供测试
微软发布了 Visual Studio 2015 正式版,除了免费的社交版之外,另外也有付费的专业版.这套工具除了提供 Windows 应用程序的整合环境之外,你也可以利用它来开发 Android 程 ...
随机推荐
- LOG4J spring与mybatis整合
1.导入包log4j-1.2.17.jar <dependency> <groupId>log4j</groupId> ...
- New Document (2)
#Markdown 语法说明 (简体中文版) / (点击查看快速入门) ##概述 ###宗旨 兼容 HTML 特殊字符自动转换 区块元素 段落和换行 标题 区块引用 列表 代码区块 分隔线 区段元素 ...
- android笔记:BroadcastReceiver
android允许应用程序自由地发送和接收广播. 广播是通过Intent进行数据传递的.接收广播则通过Broadcast Receiver(广播接收器)实现. 广播分为:标准广播和有序广播. 标准广播 ...
- raptor
raptor - 必应词典 美['ræptər]英['ræptə(r)] n.猛禽:攫禽 网络迅猛龙:雷电威龙:决战侏罗纪
- SpringBoot中使用消息中间件Kafka实现Websocket的集群
1.在实际项目中,由于数据量的增大及并发数的增多,我们不可能只用一台Websocket服务,这个时候就需要用到Webscoket的集群.但是Websocket集群会遇到一些问题.首先我们肯定会想到直接 ...
- 基于Python Shell获取hostname和fqdn释疑
一直以来被Linux的hostname和fqdn(Fully Qualified Domain Name)困惑了好久,今天专门抽时间把它们的使用细节弄清了. 一.设置hostname/fqdn 在Li ...
- python之socket运用之传输大文件
socket建议最大的传输单元是8192个字符,但是如果超过8192就会出现问题,我们可以用下面的方法处理 客户端代码 import subprocess import socket ip_bind ...
- IIS不能下载.apk文件
IIS服务器不能下载.apk文件的原因:iis的默认MIME类型中没有.apk文件,所以无法下载. 打开IIS服务管理器,找到服务器,右键-属性,打开IIS服务属性: 单击MIME类型下的“MIME类 ...
- Autotest Weekly Report
Autotest Weekly Report Reported by: 12/16/2013 What I Did Last Week Debug autotest scripts of ‘smart ...
- aspx导出文件
System.IO.StringWriter sw = new System.IO.StringWriter(); HtmlTextWriter htw = new HtmlTextWriter(sw ...