原文《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 等基本移动应用模式。并通过案例对设计模式进行了说明。

Application Architecture Guidance
本文首发于知乎

译:微软发布.NET应用架构指南草案的更多相关文章

  1. .NET微服务 容器化.NET应用架构指南(支持.NET Core2)

    介绍 企业通过使用容器,日益实现成本节约.解决部署问题并改进 DevOps 和生产操作. 通过创建 Azure 容器服务.Azure Service Fabric 等产品,同时与 Docker.Mes ...

  2. 实时人工智能:微软发布Project Brainwave预览版 现场可编程门阵列(Field Programmable Gate Array,简称FPGA) 硬件设计可以迅速演进

    https://mp.weixin.qq.com/s/bAPiPURZd-YsbV5PbzwpQQ 编者按:随着各大公司对于数据计算的要求越来越高,实时AI成为了研究者们关注的重点.在美国西雅图举行的 ...

  3. NET 架构指南频道

    NET 架构指南频道 微软在Visual Studio 2017 正式发布的时候也上线了一个参考应用https://github.com/dotnet/eShopOnContainers , 最近微软 ...

  4. 微软发布了开发社区采用.NET Standard的最新信息

    最近,微软发布了开发社区当前采用.NET Standard的最新信息..NET Standard是API的正式规范,现有.NET实现在不同平台的是通用的(从而允许跨平台开发).当前规范(版本2.0)在 ...

  5. 微软发布云端基因服务:推动AI驱动的精准医疗

    微软发布云端基因服务:推动AI驱动的精准医疗 2018年03月07日 00:00:00 微软研究院AI头条 阅读数:117    版权声明:本文为博主原创文章,未经博主允许不得转载. https:// ...

  6. 《容器化.NET应用架构指南》脑图学习笔记(第一部分)

    一.关于这本官方“圣经” 作为.NET程序员,对于微软官方推动的架构示例总是特别关注,从PetShop到MusicStore再到eShopOnContainers,每一次关注,都会了解到业界最新的架构 ...

  7. 微软发布MS MARCO数据集,提高计算机阅读理解能力

    ​ MARCO数据集,提高计算机阅读理解能力" title="微软发布MS MARCO数据集,提高计算机阅读理解能力"> ​ 本文译自:Microsoft data ...

  8. 官宣!微软发布 VS Code Server!

    北京时间 2022 年 7 月 7 日,微软在 VS Code 官方博客中宣布了 Visual Studio Code Server! 远程开发的过去与未来 2019 年,微软发布了 VS Code ...

  9. 微软发布独立Android模拟器 为开发者提供测试

    微软发布了 Visual Studio 2015 正式版,除了免费的社交版之外,另外也有付费的专业版.这套工具除了提供 Windows 应用程序的整合环境之外,你也可以利用它来开发 Android 程 ...

随机推荐

  1. Excel日期处理

    short format = cell.getCellStyle().getDataFormat(); //其值为22 输入值类型为2018/6/28 17:25:48 if (format!=22) ...

  2. ping,telnet,tracert分别用的是什么协议

    Telnet使用的是tcp协议使用示例:telnet 192.168.1.20 80 ping命令使用的是icmp协议示例:ping www.sina.com.cn或ping 192.168.1.10 ...

  3. test5

    ## 前言 因为vs2010没有集成mvvmlight 所以想要使用mvvmlight的relaycomman需要引用dll 需要测试某个功能的时候,不能进行快带的集成 ## 引用mvvmlight ...

  4. Python print() 函数

    Python print() 函数  Python 内置函数 描述 print() 方法用于打印输出,最常见的一个函数. print 在 Python3.x 是一个函数,但在 Python2.x 版本 ...

  5. CloseableHttpClient(二)

    package com.cmy.httpClient; import java.io.IOException; import org.apache.http.HttpEntity; import or ...

  6. python之socket运用之传输大文件

    socket建议最大的传输单元是8192个字符,但是如果超过8192就会出现问题,我们可以用下面的方法处理 客户端代码 import subprocess import socket ip_bind ...

  7. [leetcode]438. Find All Anagrams in a String找出所有变位词

    Given a string s and a non-empty string p, find all the start indices of p's anagrams in s. Strings ...

  8. dateframe取数据

    import numpy as npimport pandas as pd## x1=[1,2,3,4]# x2=[4,5,6,7]# x3=[7,8,9,10]# df=pd.DataFrame(# ...

  9. 低配NOSQL

    东西写的太简单了 都不好意思说是NOSQL 其实就是STL 的map容器记录了写入的信息 解析了下数据仅此. 分析的时候想了很多 比如学习redis的自写hash,动态调整hash表容量. 比如右值或 ...

  10. jQuery Datepicker 插件遇到问题

    Datepicker ver 1.7.3  浏览更多 常用设置 //禁用今天之前时间 $(".datePicker").datepicker('option', { minDate ...