云时代的.NET

编程语言从最初的0101机器码到汇编语言再到面向对象的编程,不断的发展,整个发展趋势呈现高内聚、低耦合、可重用、可理解的特点。最早编程是用机器码,人的大脑不像电脑,无法处理0101;后来汇编语言还是太费解,又出现了高级语言;然后因为我们需要更加接近人类语言的方式描述问题,开始出现结构化编程或者模块化编程的方式;但我们要面对的问题还是太复杂,所以就需要把他切割成小问题,即模块化;模块化出现之后,我们又开始追求高内聚低耦合,因人脑仍然没有办法思考太多的模块之间错综复杂的关系,所以需要高内聚低耦合,分层次的看待这些问题;但就算把这些功能都充分的去模块化、高内聚低耦合,发现数据流还是太复杂了,所以需要把数据也给高内聚低耦合,这个时候我们开始去做面向对象的编程,当面向一个对象的时候编程就会比较高效。面向对象就是帮助我们把数据对数据的操作分装到模块里面,同时提供新的思考问题的方式,这样子我们本来只是比较简单的大脑,居然一下子就可以驾驭非常复杂的业务逻辑,做很庞大的软件系统。

目前我们发展出了23种设计模式,发展出CS、BS、MVC、MVP各种各样神奇的架构模式之后,开始用这些概念“吵架”,或者做成面试题。整个发展的路线很明显的趋势是:不断地追求更好的高内聚低耦合。相信可预见的未来仍然会继续去寻找更好的一个高内聚低耦合的编程模式,我们总是在追求更好的可重用性,尽量地减少重复的工作。近几年大家都在讨论的微服务,微服务面对系统的时候,能不能用很多重复自治的子系统来完成这些子系统应该可以独立于大系统独立存在,每一个子系统应该可以管理好自己、保证自己是健壮的、可处理好异常情况、面对压力时候扩容负载均衡、没有压力时应该缩容。同时子系统无需担心被用,被越多的使用方使用,越说明该子系统有很好的可重用性,使用量越大越说明可能会产生规模效应,那就可用更低的平均成本来提供更好的服务。

讨论微服务时,之前我们仅仅是在讨论一个系统怎么被拆成几个微服务,然后再用新形式来做新的系统。但这样做与以前做的模块化编程毫无区别。在云时代基于微服务的设计理念开发软件,首先要考虑的是有没有一个现成优秀的云服务可以作为一个系统需要的微服务,直接可用,比如图片上传、下载、裁剪、缩放等功能;如果没有,那系统需要的服务,把它开发出来有没有可能变成一个通用的服务,然后开放出去,这样的话除了有可能去交付系统之外,还可能通过售卖我的微服务获利。

软件开发历史上走过了结构化、面向对象,还有各种各样的开发模式,这些所有的发展模式共同的发展方向是越来越高的高内聚低耦合,越来越好的可重用性,越来越容易被我们的大脑理解。在云时代,微服务是符合这三个大方向的全新软件开发模式。

云时代的云服务公司,它们的核心业务和面临的问题就是今天这些纯粹的技术问题,除了要能够解决并封装成服务,还需要不断的降低成本和优化效率,而在云上的降低成本和优化效率这是真正意义上的技术价值的直接体现。亚玛逊能够连续 降价来阻止竞争对手进入,正是技术综合实力的体现,未来必然只有少数云服务公司能够把提供服务的成本控制在自由市场竞争的价格之下。

云时代我们需要采用新平台来革新我们的软件开发模式,作为一个走过16年历史的.NET, 在2014年顺应时代要求自我刷新,推出的开源跨平台的.NET Core, 就是为云原生应用的开发而准备的平台,.NET Core相较于他的哥哥.NET的优势也正是我们很容易的使用C# 语言去构建高内聚低耦合的系统。借助于K8S,service fabric, 我们很容易构建一个.NET Core的服务。最近结合.NET Core和k8s 容器服务在腾讯云上制作了一个教程 《.NET 微服务实战 — 微信公众号开发( https://cloud.tencent.com/developer/edu/major-100017)》

640?wx_fmt=png

教程里例子-公众号开发虽然简单,我只是使用这个简单例子来阐述一个简单的问题,云时代的.NET 是怎么样的,我们要怎么样使用.NET Core。欢迎阅读原文学习。

原文地址: https://cloud.tencent.com/developer/edu/major-100017

.NET社区新闻,深度好文,欢迎访问公众号文章汇总 http://www.csharpkit.com

640?wx_fmt=jpeg

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/318268.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

P6295-有标号 DAG 计数【多项式求逆,多项式ln】

正题 题目链接:https://www.luogu.com.cn/problem/P6295 题目大意 求所有nnn个点的弱联通DAGDAGDAG数量。 1≤n≤1051\leq n\leq 10^51≤n≤105 解题思路 先不考虑弱联通的限制,求nnn个点的DAGDAGDAG数量。 设为fif_ifi​,那么有式子 fn∑i1n(ni)2i(…

研究性学习:APP的隐私问题

文章目录写在前面背景(problem)一个实例(example)手机App用户输入隐私数据的识别与检测技术研究(solution?)(官方)概览背景介绍4.系统设计隐私政策引言1.收集信息2. 信息使用3. 信息披露4. 信息…

DP专练4:[SCOI 2010]股票交易(单调队列优化dp)

昨天晚上,初见它时,月黑风高,一个电脑,一支笔,一个人 今天秋高气爽,再一瞥,回眸间 我又来了,honey题目题解代码实现题目 题解 首先这种 iii 天与前面 jjj 天有关联,而…

【做题记录】[NOIP2016 普及组] 魔法阵

P2119 魔法阵 2016年普及组T4 题意&#xff1a; 给定一系列元素 \(\{X_i\}\) &#xff0c;求满足以下不等式的每一个元素作为 \(a,b,c,d\) 的出现次数 。 \[\begin{cases}X_a<X_b<X_c<X_d \\ X_a-X_b2\times (X_d-X_c) \\X_b-X_a<\dfrac{X_c-X_b}{3}\end{cases} \]…

P3812 【模板】线性基

P3812 【模板】线性基 题目描述 给定n个整数&#xff08;数字可能重复&#xff09;&#xff0c;求在这些数中选取任意个&#xff0c;使得他们的异或和最大 题解&#xff1a; 把所有数insert进入线性基&#xff0c;把线性基中所有元素xor起来 ans 代码&#xff1a; #incl…

“被狗啃”的按钮引发的开源社区信任危机

昨天&#xff0c;在国外民众还在欢度圣诞期间&#xff0c;开发者社区却对 Antd 开发团队发起了连番的炮轰。一觉醒来&#xff0c;他们发现由自己参与设计的、公司内网、办事系统等网页上&#xff0c;有一些按钮的上面多了一团白色的“积雪”&#xff0c;在白背景下&#xff0c;…

牛客练习赛89E-牛牛小数点【数论】

正题 题目链接:https://ac.nowcoder.com/acm/contest/11179/E 题目大意 定义f(x)f(x)f(x)表示1x\frac{1}{x}x1​的混循环节长度&#xff08;如果没有循环节就是000&#xff09;&#xff0c;TTT组询问给出l,rl,rl,r求 ∑ilrf(i)\sum_{il}^rf(i)il∑r​f(i) 1≤T≤100,1≤l≤r≤…

8.11模拟:数据结构

文章目录前言考场复盘T1 forwardT2 basketT4 square总结前言 320分 还不错啦 没有挂分还是很可贵的 &#xff08;暴力TLE就不怪我了&#xff09; T4反过来想其实就很可做了 逆向的思想需要培养&#xff08;今天T1、昨天T2也是&#xff09; 说实话今天早上状态不太好 特困生 不…

[COCI2017-2018#5] Pictionary(并查集+dfs)

贼ex的一道&#xff0c;卡了本仙女整整7个小时orz 思路容易理解&#xff0c;but码力very重要orz 我愿意花五毛钱提升我的码力&#xff0c;换个脑子也行&#xff0c;不换脸这张脸生得俊俏 luogu传送door 题目 在宇宙一个不为人知的地方&#xff0c;有一个星球&#xff0c;上面…

P4570 [BJWC2011]元素

题目描述&#xff1a; 每个矿石有序号和魔力值&#xff0c;每个矿石最多使用一次&#xff0c;且多个矿石序号不能异或为0的前提下&#xff0c;问最多可以得到多少魔力值 题解&#xff1a; 异或运算的最终结果只和用于运算的数的各位上1的数量有关&#xff0c;与各数字运算的…

Docker最全教程——从理论到实战(九)

在本系列教程中&#xff0c;笔者希望将必要的知识点围绕理论、流程&#xff08;工作流程&#xff09;、方法、实践来进行讲解&#xff0c;而不是单纯的为讲解知识点而进行讲解。也就是说&#xff0c;笔者希望能够让大家将理论、知识、思想和指导应用到工作的实际场景和实践之中…

【做题记录】CF1444A Division

CF1444A Division 题意&#xff1a; 给定 \(t\) 组询问&#xff0c;每组给两个数 \(p_i\) 和 \(q_i\) &#xff0c;找出最大的整数 \(x_i\) &#xff0c;要求 \(p_i\) 可被 \(x_i\) 整除&#xff0c;且 \(x_i\) 不可被 \(q_i\) 整除 。 题解&#xff1a; 呜呜呜这道题总共算下来…

CF891C-Envy【可撤销并查集】

正题 题目链接:https://www.luogu.com.cn/problem/CF891C 题目大意 nnn个点mmm条边的一张无向联通图&#xff0c;每次询问一个边集能否同时出现在同一棵最小生成树上。 1≤n,m,q,wi,∑k≤51051\leq n,m,q,w_i,\sum k\leq 5\times 10^51≤n,m,q,wi​,∑k≤5105 解题思路 考虑K…

[2019CSP多校联赛普及组第五周] 调度CPU (贪心)

来来来&#xff0c;走过路过不要错过题目题解代码实现1代码实现2题目 ⼩Y同学有⼀块超级CPU&#xff0c;它有两个超级核⼼A和B。 A核⼼可以同时处理多项任务&#xff0c;每项任务处理时间为x&#xff0c;B核⼼只能同时处理⼀项任务&#xff0c;每项任务处理时间为y。 这⼀天…

8.12模拟:dp递推

文章目录前言本次最大收获考场复盘T1 lectureT2 n-thlonT3 assignmentT4 recoverset总结前言 245分 100704035 不太满意qwq &#xff08;被KH暴打 &#xff09; 后三道题全是部分分 而且T2和T3关键性质都出来了&#xff0c;距离正解只差临门一脚 但是就差了这一脚 感觉今天T2、…

NumSharp v0.6.1 科学计算库发布,支持标量和隐式转换

NumSharp&#xff08;Numerical .NET&#xff09;可以说是C&#xff03;中的科学计算库。 它是用C&#xff03;编写的&#xff0c;符合.netstandard 2.0库标准。 它的目标是让.NET开发人员使用NumPy的语法编写机器学习代码&#xff0c;从而最大限度地借鉴现有大量在python代码的…

【做题记录】CF1451E2 Bitwise Queries (Hard Version)

CF1451E2 Bitwise Queries (Hard Version) 题意&#xff1a; 有 \(n\) 个数( \(n\le 2^{16}\) &#xff0c;且为 \(2\) 的整数次幂&#xff0c;且每一个数都属于区间 \([0,n-1]\) ) 可以通过询问交互库不超过 \(n1\) 次询问&#xff0c;每次询问编号为 \(i,j\) ( \(1\le i,j \l…

P4301 [CQOI2013] 新Nim游戏

P4301 [CQOI2013] 新Nim游戏 题目&#xff1a; 在传统的Nim游戏基础上加一步&#xff0c;在第一个回合中&#xff0c;第一个游戏者可以直接拿走若干个整堆的火柴。可以一堆都不拿&#xff0c;但不可以全部拿走。第二回合也一样&#xff0c;第二个游戏者也有这样一次机会。从第…

51nod1667-概率好题【容斥,组合数学】

正题 题目链接:http://www.51nod.com/Challenge/Problem.html#problemId1667 题目大意 两个人。 第一个人有k1k_1k1​个集合&#xff0c;第iii个包括了范围[L1i,R1i][L1_i,R1_i][L1i​,R1i​]的整数。 第二个人有k2k_2k2​个集合&#xff0c;第iii个包括了范围[L2i,R2i][L2_i…

[Luogu2279][HNOI2003] 消防局的设立

文章目录题目法一&#xff1a;树上DP思路代码实现法二&#xff1a;贪心 搜索思路代码实现题目 2020年&#xff0c;人类在火星上建立了一个庞大的基地群&#xff0c;总共有n个基地。起初为了节约材料&#xff0c;人类只修建了n-1条道路来连接这些基地&#xff0c;并且每两个基…