(翻译).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
关注我】。(●'◡'●)
如果,您希望更容易地发现我的新博客,不妨点击一下绿色通道的【因为,我的写作热情也离不开您的肯定与支持,感谢您的阅读,我是【Jack_孟】!
本文来自博客园,作者:jack_Meng,转载请注明原文链接:https://www.cnblogs.com/mq0036/p/10534056.html
【免责声明】本文来自源于网络,如涉及版权或侵权问题,请及时联系我们,我们将第一时间删除或更改!
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 没有源码,如何修改代码逻辑?
· 一个奇形怪状的面试题:Bean中的CHM要不要加volatile?
· [.NET]调用本地 Deepseek 模型
· 一个费力不讨好的项目,让我损失了近一半的绩效!
· .NET Core 托管堆内存泄露/CPU异常的常见思路
· DeepSeek “源神”启动!「GitHub 热点速览」
· 微软正式发布.NET 10 Preview 1:开启下一代开发框架新篇章
· C# 集成 DeepSeek 模型实现 AI 私有化(本地部署与 API 调用教程)
· DeepSeek R1 简明指南:架构、训练、本地部署及硬件要求
· NetPad:一个.NET开源、跨平台的C#编辑器
2018-03-14 C#中DateTime的缺陷 ---- 代替品DateTimeOffset
2018-03-14 java打jar包的几种方式详解
2018-03-14 计算机的本质 ---- 起源
2017-03-14 谈谈敏捷开发
2017-03-14 C# 读xml注释或过滤xml注释
2014-03-14 制作一个64M的U盘启动盘(mini linux + winpe +dos toolbox)
2013-03-14 java 连接 Access数据库的两种方法