(翻译).NET应用架构
.NET应用架构
Kalyan Bandarupalli著,hystar翻译
这个系列文章将帮助.NET开发人员与架构师使用最新的.NET技术设计高效的.NET应用。关于应用架构这方面虽然已有很多文章与书籍,但是对于设计人员理解应用设计的最佳的原则与实践仍然是具有挑战性的。这篇文章阐述了应用架构的基本概念与原则。
介绍
这个系列文章将帮助.NET开发人员与架构师使用最新的.NET技术设计高效的.NET应用。关于应用架构这方面虽然已有很多文章与书籍,但是对于设计人员理解应用设计的最佳的原则与实践仍然是具有挑战性的。
这篇文章阐述了应用架构的基本概念与原则。
什么是应用架构?
通过优化性能,安全及可管理性来定义一个满足技术及可选需求的解决方案。
为什么要进行架构?
软件必须构建在严密的考虑之上,没能满足关键场景或没能理解设计问题将导致一个较长的设计周期。应用需要实现以下目标:
- 最终用户怎样使用你的程序?
- 与安全,性能,并发,全球化与配置相关的质量指标。
- 什么样的架构适合你现在的这个程序及其将来部署后的情况。
架构的目标
应用架构建立了商业需求与技术需求之间的桥梁。好的架构可以解决与解决方案相关的业务风险。
- 系统的结构而不是实现的细节
- 用例场景
- 关注基础支持层
- 功能及质量需求
设计架构的途径
你必须决定你正在构建的应用的类型以及将要被用于横切技术等用途的架构风格。
- 识别应用的类型
- 应用应该怎样部署?
- 快速评审架构样式与技术
- 考虑质量特性及横切关注点
应用类型
架构与设计的关键部分是识别应用的类型。应用的类型可以是
- 被设计用于运行在客户端PC上的富客户端应用
- 富Inernet应用
- 被设计用于支持松耦合组件之间通信的SOA应用。
- 智能客户端应用
部署策略
当你设计你的应用时,你必须规划基础架构以满足应用的部署要求。你的应用必须可以适应环境中存在的任何限制。在设计过程的早期就要识别基础架构。
架构样式
架构样式是一套我们应该在组件设计以及后期的应用中使用的策略与方针。
架构样式的例子包括:
1. 客户端-服务器
2. 分层架构
3. MVC
4. SOA
横切点
这些关注点是你设计过程中非常核心的问题,它们往往不仅关系应用的某一层。当你设计你的应用时你必须考虑一下关注点。
验证:决定怎样验证用户以及怎样在多层之间传递身份信息。
授权:确保在每一个信任区域内有且恰当的授权。
缓存:识别缓存什么以及缓存在哪里来提高应用的性能及相应性。
通信:选择适当的协议来保护敏感数据在网络的传输。
异常管理:在边界捕获异常,并提示给终端用户充足的信息。
统计与记录:统计所有的业务及系统核心事件并记录详细的信息。不要记录敏感信息。
结论
这篇文章解释了应用架构的基础,在本系列下一篇中我将解释架构与设计的原则。
本人才疏学浅,难免出现翻译错误,请不吝赐教。
出处:https://www.cnblogs.com/lsxqw2004/archive/2009/09/23/1572664.html
转载于:https://www.cnblogs.com/mq0036/p/10534056.html
(翻译).NET应用架构相关推荐
- 天猫总架构师何崚:好的技术团队不是“需求翻译机”或“架构优化机”
" 一个好的技术团队应该具备哪些特质?一个好的技术团队的leader应该怎样实施管理?技术和业务如何做到完美结合?这是来自天猫技术团队的经验,仅供参考. 前言 2012 年,无线化大规模到来 ...
- [翻译]LightRacer游戏架构
1.0版本的Light Racer架构可说的不多.仅有一个单一的Activity,进行按钮的处理,显示游戏相关数据和显示GameView.我将在另一篇文章中说明游戏的画面是如何工作的,但是现在我先声明 ...
- 原文翻译 - 设计MongoDB架构的6条经验法则 - 6 Rules of Thumb for MongoDB Schema Design: Part 1
原文作者: William Zola, Lead Technical Support Engineer at MongoDB 原文链接 "虽然我有很多SQL的经验,但是对于MongoDB,我 ...
- 计算机毕业设计|外文文献翻译之MVC架构详细介绍
作者主页:编程指南针 作者简介:Java领域优质创作者.CSDN博客专家 .掘金特邀作者.多年架构师设计经验.腾讯课堂常驻讲师 主要内容:Java项目.毕业设计.简历模板.学习资料.面试题库.技术互助 ...
- 翻译: 将操作系统架构带入二十一世纪—过去 50 年中 IT 的变化—第一部分
上次我检查时,外面是 2019 年,但我们仍在使用操作系统,其架构基本上可以追溯到 60 年代后期的 Multics 或 70 年代中期的 VAX VMS(以及 TBH,从 50'000 英尺开始,M ...
- 翻译:Intel CPU架构的历史
文章来源为noraml matloff教授写的Major Componets of Computer "Engine",文章有点老,意义还是有的:-) History of Int ...
- hbase 客户端_HBase架构与原理详解
一.概述 HBase是基于列式存储的分布式数据库,底层存储采用的是LSM树,是Hadoop生态下核心技术之一. 1.1 架构图 1.2 组件介绍 HBase由三种类型的服务器以主从模式构成: Regi ...
- 论文翻译-机器翻译:Attention
2019独角兽企业重金招聘Python工程师标准>>> 原论文地址:https://arxiv.org/pdf/1409.0473.pdf NEURAL MACHINE TRANSL ...
- 回归架构本真:从规划、思维到设计,构建坚不可摧的架构根基
关于什么是架构,业界从来没有一个统一的定义.Martin Fowler在<企业应用架构模式>中也没有对其给出定义,只是提到能够统一的内容有两点: 最高层次的系统分解: 系统中不易改变的决定 ...
最新文章
- 借力英伟达打造车规L3智能驾驶大脑,揭开德赛西威量产的“秘密”
- 卸载iso linux系统文件夹,在Ubuntu系统中如何卸载光盘/DVD/ISO
- 长尾关键词优化也要讲技巧
- 清华大学保研笔试题目及解答
- 工业物联网发展环境加速形成 中国企业如何突围?
- 单元测试源码分析之二Mockito自动装配和插桩
- matlab如何将两张图画在一起,如何在MATLAB里面将两个图画在一起
- 关于 SAP 电商云 Spartacus UI 访问 b2b site 的权限问题
- MRAppMaster详细分析
- 排序总结---常用的排序算法总结,java和js实现
- typra + picgo + 腾讯云 配合使用编辑微信公众号内容
- 万兆网络传输速度测试_iperf测试万兆网卡tcp性能
- 数据中心服务器硬盘,PCI-E固态硬盘在数据中心的机会_希捷硬盘_服务器评测与技术-中关村在线...
- Wrong JPEG library version :library is 80,caller expects 62
- 6-6 采用邻接表创建无向图
- 如何准备pmp考试?
- Android加载图片内存溢出问题解决方法
- MATLAB-005 无法实例化为对象?全网找不到解决方案?
- [操作系统] 王道2023操作系统208页图3.26勘误
- 计算机网络实训课报告书,计算机网络实训报告
热门文章
- 【Python CheckiO 题解】Create Intervals
- oracle cogs 科目,请问R12中,Mtl_material_transaction中的 COGS Recognition记录是干啥的?
- idea远程调试修改代码_IDEA远程调试(Remote Debug)Java代码指南
- CCNP-第二篇-SLA扩展+EIGRP高级版(上)
- C++模板类嵌套类内部类局部类的区别
- 【HDU - 5988】Coding Contest(网络流费用流,改模板)
- 【牛客 - 369B】小A与任务(贪心,优先队列)
- matlab 多径 时变 信道 冲击响应,无线信道—时变冲激响应
- c 跟r语言运行速度,1. R语言运行效率分析(5)
- php fast cgi nginx,通过fast-cgi连接php-fpm和nginx之间的连接是持久的(保持活动)连接吗?...