返回顶部
首页 > 资讯 > 精选 >ASP.NET中如何选择应用系统架构
  • 878
分享到

ASP.NET中如何选择应用系统架构

2023-06-17 13:06:02 878人浏览 独家记忆
摘要

本篇文章为大家展示了asp.net中如何选择应用系统架构,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。架构的选择架构的选择与应用程序的类型有关。这里说的是ASP.net应用,那么Client-Ser

本篇文章为大家展示了asp.net中如何选择应用系统架构,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。

架构的选择

架构的选择与应用程序的类型有关。这里说的是ASP.net应用,那么Client-Server的架构就很显然排除了。剩下:

基于组件的架构

应用可以按组件划分,不用组件实现不同功能和逻辑,组件之间的接口规范有很好的定义。某些组件可以重用。

ASP.NET中如何选择应用系统架构

分层Layered的架构

应用被划分成了堆叠在一起的若干层,每一层完成特定的服务和功能,与其上下层接口,各层之间是调用被调用的关系。在最上面的层只有调用下面的一层,在中间的层则兼有调用和被调用。在最下面的层则是仅供上面的层调用。通常划分成UI层,商务逻辑层,数据层等,并且通常多个层都部署在同一台服务器上。

ASP.NET中如何选择应用系统架构

消息总线型的架构

应用程序按照预定义的格式来收发消息。有一个消息队列和消息存储,分发处理的任务。相关消息的事件被程序处理。支持不同的系统平台。消息总线里面有若干定义好的消息流,消息总线同各系统平台交换数据,支持不同的格式。将消息交由不同的处理程序处理。

ASP.NET中如何选择应用系统架构

Model, View, Controller(mvc)架构

用户交互的处理与UI显示分离

用户交互的处理和UI显示与数据分离

ASP.NET中如何选择应用系统架构

3Tier/N Tier的架构

Tier可以译成排。以与Layer(层)有所区别。将应用程序划分成一系列的服务,包括UI, Business(商业逻辑), 数据等服务。各Tier可部署在不同的服务器上。类似于分层(layer)的架构。通常分层(layer)不跨机器的边界,也即所有层(layer)都部署在一台服务器上。Tier是要跨机器的边界。各Tier之间用预定义的通信协议来通信,如WCF, WEB service, 或者tcp/IP等。分层(layer)的各层(layer)之间的通信都是通过该编程语言的引用和调用来实现的。所以是有区别的。

ASP.NET中如何选择应用系统架构

面向对象的架构

应用可以划分成自给自足的可重用的对象集合,对象包含了数据和行为。各对象之间有消息交互。

面向服务的架构

应用使用一个功能是通过调用一个服务。在服务提供者和调用者之间有通信合同和消息,通信合同定义了消息的格式和通信的方式。消息则包含通信的内容。面向服务的架构是“请求-响应”的工作模式。应用程序是以一种服务提供的,调用者需要向服务发送预定义好的请求消息,服务才做出响应。

这些架构类型都可以用来开发ASP.NET应用。我们可以从其中选择架构类型的组合来,比如:分层Layered的架构 + 面向服务的架构。MVC架构 + 消息总线型架构。具体的选则,取决于应用程序的要求。现在说一下如何选架构:

如果

有若干现成组件,比如以前系统的ActiveX组件或者.NET的组件

应用程序足够简单而不需要分层的架构,通过调用这些组件就可完成大部分工作

不同语言开发的组件需要结合在一起,如ASP.NET需要调用VB写的COM+的组件

应用程序需要支持插件技术,可以动态切换组件,例如用.NET反射技术实现的插件技术

那么我们可以选择基于组件的架构。

如果

应用程序比较复杂,不同的功能需要不同的层来各司其职,如数据访问,商务逻辑,表现等。

有比较复杂的商务逻辑和流程。

那么我们可以选择分层的架构。

如果

有若干已有系统并且这些系统之间有特定的交互

需要让一个系统与外部的其他系统交互

不同平台上的系统相互之间进行交互

那么我们可以选择消息总线型的架构

如果

要获得分离的UI视图和处理逻辑

要UI视图和处理逻辑与数据存储分离

那么我们可以选择Model,View,Controller(MVC)架构

如果

应用全部在内部网里

应用在互联网上,同时商务逻辑需要暴露给公众使用

商务逻辑足够复杂,需要专门的服务器来提供商务逻辑服务。

应用程序比较复杂,不同的功能分布在不同的服务器上,每一种功能,都可能是由一组服务器来提供。

那么我们可以选择3 Tier/N Tier架构

如果

相关商业领域有足够多的现实对象(这些对象通常是相关商务人员口中的名词),并且这些对象之间有交互

应用比较复杂,需要更多的抽象

对象的数据和行为都需要封装以利重用

有足够的资源来做深入的面向对象分析,如时间,人力等。

那么我们可以选择面向对象的架构。

如果

应用需要支持平台无关性

多个应用程序的功能放进一个单一的界面来提供

采用请求-响应模式运行

需要开发软件加服务(Software plus service),软件即服务(Software as a service)类型的应用,或者基于云计算的应用

那么我们可以选择面向服务的架构。

针对目前的场景:大型ASP.NET应用,那么它最基本的需求可能是这样的:

同时访问的用户将会是相当多的,比如几千个,上万个。

7x24小时都有大量用户访问

某些地方需要用户登录以获取一些需要授权才能获得的信息

我们可能选择的架构组合可能是这样的:

3Tier/N Tier的架构

Model, View, Controller(MVC)架构结合3Tier/N Tier的架构

3Tier/N Tier的架构结合面向服务的架构

3Tier/N Tier的架构结合面向对象的架构

当然也有可能是其他的组合。

分层Layered的架构不适合大型的ASP.NET应用。分层Layered的架构通常将UI层,商务逻辑,数据访问层都部署在同一台服务器上,首先一台服务器不能负担众多的用户,还有复杂的商务逻辑不是一台服务器能全部担负的。所以分层Layered的架构不适合大型的ASP.NET应用。小型的ASP.NET应用才适合分层Layered的架构。

基于组件的架构也不适合大型ASP.NET应用。通常来说大型的ASP.NET应用都是相当复杂的,它的UI界面,商务逻辑,数据都是复杂的。不会简单到调用几个控件就完成了大部分的工作,大型的ASP.NET应用的每一个Tier排,都需要众多的服务器来分担压力,基于组件的架构的分布式能力有限,所以基于组件的架构是通常不会在大型ASP.NET应用里考虑的,除非是有若干个重要的控件,并且要考虑集成多个编程语言的控件时,才会考虑基于组件的架构。而且是在某个局部使用,即需要与其他架构一起结合起来用。

消息总线型架构可以在某些场景下参与大型ASP.NET应用的开发。通常是需要将多个系统平台整合在一起的时候。消息总线型的架构需要结合其他的架构来共同构造ASP.NET应用。

MVC架构关注的更多的是UI,用户交互的控制以及数据存取的分离。通常不能单独去构造一个大型的ASP.NET架构。需要结合3Tier/N Tier架构来共同构造大型ASP.NET的架构。MVC架构在UI还有用户交互上有固定的模式,所以可以在UI这一块应用MVC的架构,当涉及到MVC中的模型Model时,就可以扩展到3 Tier/N Tier的架构。即在访问模型Model时,就去访问另外一个服务器上的商务逻辑和数据存储。这个可以用下图来表示:

ASP.NET中如何选择应用系统架构

面向对象的架构是更多地关注应用里面的面向对象分析,设计等过程产生出来的结果。这个结果体现了现实世界中的对象之间的交互作用。面向对象的架构需要结合其他架构如3 Tier/N Tier架构来共同构造ASP.NET应用程序的架构。

面向服务的架构是在特定场景下需要的。即上面所说的,多个功能作为一项服务,提供一个统一的UI给外界用户。大型ASP.NET应用中通常需要将商务逻辑提供给公众访问。这时就可以采用面向服务的架构。面向服务的架构也需结合其他架构如3 Tier/N Tier架构来共同构造ASP.NET应用程序的架构。

3 Tier/N Tier架构对于大型ASP.NET应用来说是必须的。它的每一Tier排都由若干服务器组成。只有这样才可以服务众多的用户。如上面的图所示,UI调用商务逻辑时得跨越机器的边界,调用另外一台服务器上的商务逻辑服务接口。

上述内容就是ASP.NET中如何选择应用系统架构,你们学到知识或技能了吗?如果还想学到更多技能或者丰富自己的知识储备,欢迎关注编程网精选频道。

--结束END--

本文标题: ASP.NET中如何选择应用系统架构

本文链接: https://lsjlt.com/news/289513.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • ASP.NET中如何选择应用系统架构
    本篇文章为大家展示了ASP.NET中如何选择应用系统架构,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。架构的选择架构的选择与应用程序的类型有关。这里说的是ASP.NET应用,那么Client-Ser...
    99+
    2023-06-17
  • MySQL中如何选择高可用架构
    MySQL中如何选择高可用架构,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。一 、高可用架构MySQL Replication...
    99+
    2024-04-02
  • vps架构如何选择
    选择VPS架构主要取决于以下几个因素:1. 需求:首先需要明确自己的需求,包括希望实现的功能、所需的计算资源和存储容量等等。根据需求来选择VPS架构,可以满足自己的需求,避免资源浪费。2. 价格:VPS架构的价格因供应商和配置而异。可以...
    99+
    2023-08-11
    vps
  • 如何在Linux系统中选择最佳的PHP框架?
    在Linux系统中选择最佳的PHP框架可能是一项具有挑战性的任务。PHP是一种非常流行的服务器端编程语言,因此有许多PHP框架可供选择。在本文中,我们将探讨如何选择最佳的PHP框架,并演示一些示例代码。 1.了解自己的需求 在选择PHP框架...
    99+
    2023-11-11
    框架 linux linux
  • Unix系统中的PHP和Numpy:如何选择最流行的框架?
    在现代计算机领域,选择正确的框架是至关重要的。对于那些需要处理大量数据和进行复杂计算的项目来说,选择正确的框架可以大大提高效率和准确性。在本文中,我们将探讨Unix系统中两个最流行的框架:PHP和Numpy,并为您提供选择最佳框架的指南。...
    99+
    2023-08-04
    numpy unix 框架
  • 在 C++ 生态系统中,如何选择合适的库和框架?
    在 c++++ 生态系统中进行库和框架选择时,应考虑功能、性能、稳定性、社区支持和许可证等因素。实战案例包括 qt(图形库)、rapidjson(json 库)、boost.asio(网...
    99+
    2024-05-14
    框架 mysql c++
  • 云主机系统如何选择
    选择云主机系统的方法:1.追求流畅性,选择Linux系统;2.追求操作性,选择Windows系统;3.追求直观性,选择Windows系统;4.追求安全性,选择Linux系统;具体分析如下:如追求流畅性,Linux整体流畅性要比Windows...
    99+
    2024-04-02
  • OA系统服务器租用如何选择
    OA系统服务器租用如何选择,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。 OA系统服务器租用如何选择?什么是OA系统服务器随着互联网的快速发展,各行各业对于网站的...
    99+
    2023-06-07
  • 如何理解FACEBOOK的系统架构
    本篇文章为大家展示了FACEBOOK 的系统架构,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。Web 前端是由 PHP 写的。Facebook 的 HipHop 会把PHP转成 ...
    99+
    2023-06-05
  • 如何解析Linux系统架构中的内核
    如何解析Linux系统架构中的内核,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。概述Linux系统一般有4个主要部分组成,内核、shell、文件系统和应用程序。内核、shell...
    99+
    2023-06-16
  • PHP框架的最佳选择:在Linux和Unix系统中,你应该使用哪个?
    PHP作为一种流行的服务器端脚本语言,有很多的框架可供选择。然而,在Linux和Unix系统中,选择正确的PHP框架是至关重要的。在本文中,我们将探讨PHP框架的最佳选择,并讨论在Linux和Unix系统中应该选择哪个框架。 首先,我们需要...
    99+
    2023-08-06
    框架 linux unix
  • 如何使用Django框架在Windows系统上构建Web应用程序?
    Django是一款流行的Python Web框架,它能够帮助开发人员快速构建高质量的Web应用程序。在本文中,我们将探讨如何在Windows系统上使用Django框架构建Web应用程序。 安装Python和pip 在开始使用Django...
    99+
    2023-08-21
    django windows shell
  • 如何深度解读Serverless架构及平台选择
    这篇文章将为大家详细讲解有关如何深度解读Serverless架构及平台选择,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。在 Serverless 产品层面,从最早的 AWS Lambda,到...
    99+
    2023-06-04
  • 如何选择自助建站系统
    这期内容当中小编将会给大家带来有关如何选择自助建站系统,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。操作是否简单:自助建站系统一定是操作十分简单的,能够零技术建站。功能是否强大:自助建系统除了能够简单的操...
    99+
    2023-06-07
  • windows7系统下载站如何选择
      最近有很多用户在找着windows7系统下载站想要下载win7系统,在网上搜索后发现有特别多的下载工具,却不知道如何选择,接下来小编就把自己正在使用的win7系统下载软件推荐分享给大家,快来一起看看吧。  windows7系统下载站: ...
    99+
    2023-07-10
  • 如何在 ASP 编程中选择最佳的响应框架?
    ASP(Active Server Pages)编程是一种用于开发动态Web应用程序的技术。在ASP编程中,选择最佳的响应框架可以帮助开发人员更轻松地构建高效的Web应用程序。本文将介绍如何在ASP编程中选择最佳的响应框架。 一、什么是响应...
    99+
    2023-07-10
    编程算法 响应 框架
  • 架构解析:Go WaitGroup在分布式系统中的应用
    在分布式系统中,Go的WaitGroup可以用于协调并发任务的执行。WaitGroup是一个计数信号量,可以用于等待一组并发任务完成...
    99+
    2023-10-08
    Golang
  • 探究PHP trait DTO在大型系统中的应用架构
    摘要:随着大型系统的开发越来越复杂,代码的复用以及系统的可维护性变得越来越关键。PHP trait DTO是一种强大的工具,它在大型系统中的应用架构中起到了重要的作用。本文将会深入探究PHP trait DTO的应用架构,并提供具体的代码示...
    99+
    2023-10-21
    PHP dto trait 关键词:
  • 构建高效Web应用:Go语言Web框架选择指南
    构建高效Web应用:Go语言Web框架选择指南 Go语言以其简洁高效的特点,逐渐成为许多开发者构建Web应用的首选语言。在开发Web应用时,选择合适的Web框架是至关重要的一步。本文将...
    99+
    2024-04-02
  • 如何查看Linux系统架构类型
    这篇文章给大家分享的是有关如何查看Linux系统架构类型的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。1.uname 命令uname -a 命令可以直接显示 Linux 系统架构的命令,几乎可以工作在所有 Lin...
    99+
    2023-06-16
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作