建站学 - 轻松建站从此开始!

建站学-个人建站指南,网页制作,网站设计,网站制作教程

当前位置: 建站学 > 网站开发 > asp.net教程 >

关于大型asp.net应用系统的架构-架构的选择(2)

时间:2010-10-26 22:52来源: 作者: 点击:
Model, View, Controller(MVC)架构 用户交互的处理与UI显示分离 用户交互的处理和UI显示与数据分离 3Tier/N Tier的架构 Tier可以译成排。以与Layer(层)有所区别。将应用程序划分成一系列的服务,包括UI, Business(

Model, View, Controller(MVC)架构

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

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

3Tier/N Tier的架构

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

 

面向对象的架构

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

面向服务的架构

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

 

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

如果

  • 有若干现成组件,比如以前系统的ActiveX组件或者.net的组件
  • 应用程序足够简单而不需要分层的架构,通过调用这些组件就可完成大部分工作
  • 不同语言开发的组件需要结合在一起,如ASP.net需要调用VB写的COM+的组件
  • 应用程序需要支持插件技术,可以动态切换组件,例如用.net反射技术实现的插件技术

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

如果

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

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

如果

  • 有若干已有系统并且这些系统之间有特定的交互
  • 需要让一个系统与外部的其他系统交互
  • 不同平台上的系统相互之间进行交互

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

如果

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

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

如果

  • 应用全部在内部网里
  • 应用在互联网上,同时商务逻辑需要暴露给公众使用
  • 商务逻辑足够复杂,需要专门的服务器来提供商务逻辑服务。
  • 应用程序比较复杂,不同的功能分布在不同的服务器上,每一种功能,都可能是由一组服务器来提供。

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

如果

  • 相关商业领域有足够多的现实对象(这些对象通常是相关商务人员口中的名词),并且这些对象之间有交互
  • 应用比较复杂,需要更多的抽象
  • 对象的数据和行为都需要封装以利重用
  • 有足够的资源来做深入的面向对象分析,如时间,人力等。

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

(责任编辑:admin)

织梦二维码生成器
顶一下
(0)
0%
踩一下
(0)
0%
------分隔线----------------------------
发表评论
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
评价:
表情:
用户名: 验证码:点击我更换图片