AgileEAS.NET之系统架构

简介:
  本文是继 AgileEAS.NET应用开发平台介绍AgileEAS.NET之敏捷并行开发方法所做的架构补充,用于阐释AgileEAS.NET平台的架构设计思路。
      说起了系统架构,我也无法给出系统架构的确切定义,我的理解也许也只是基于自己经验的一个片断,我是学习园林专业身的,学习过园林建筑学,也许对软件框架最早的理解来源于对建筑的理解,我们知道,一个好的建筑必须解决建筑及其附属物的荷载及其美观和居住的舒适性,而这个必须通过其建筑的骨架--承重体系来支撑,建筑最先进行的其他承重休息的浇筑。
软件之系统架构有如建筑的骨架,不同规模、不同地域、不同应用的建筑会使用不同的承重结构。软件系统架构的设计如同对建筑的框架设计一样,对于不同的应用应该应用与之相匹配不同的架构,也就是说,客户的应用决定着项目的架构及到技术选项。
      AgileEAS.NET平台所提出的系统架构适应于中小规律的管理信息系统。
      在 AgileEAS.NET应用开发平台介绍中我画出了AgileEAS.NET的基本架构图,本文我从系统的横向扩展和纵向伸缩两个方面来讨论。
横向扩展:
      AgileEAS.NET平台是基于“并行开发”这种思想支持的应用平台,我们在在DotNET中用平台+插件实现了这么一种理念,其核心的机制既用插件横行扩展平台。
      采用这种思路构建和扩展业务系统,需要一个统一的机制允许业务插件注册到平台,基于这种思路,各个业务模块,都变成了可以自由组装、拆卸的插件。
image
      插件运行容器是一组能够实现插件业务调用的一组应用程序,可以是基于WinFrom的桌面应用程序、也可以是基于Web的网站应用,运行容器调用插件并由插件横向扩展运行容器的功能,这样一来,应用系统的开发就转成为对运行容器的功能扩展,也就是项目的重点转移于开发模块插件这个焦点。
      业务插件的开发者可以选择利用AgileEAS.NET所提供的快速开发技术实现,即依赖于平台所提供的基础组件,也可以选用开发者自己的技术去实现模块插件,这将涉及到系统的纵向伸缩的问题。 
纵向伸缩:
      不要是说搞软件的技术人员,就是某些客户机构人员,也跟你嚷嚷的要求软件弄成三层结构才行,我想这个三并不指特定的三层吧,应该是泛指三或者多层结构吧。
      目前,大家所指的三层结构应该是对系统进行的所谓界面(UI)、业务逻辑(BI)、数据访问(DA)三层吧,多层也是对这三层进行了详细的分解的结果,业界经验证明,这确实是解决系统复杂性的一种主流模式。但并不是说应用了三层架构就一定能解决系统的复杂性,他不是万能的。他提供给我们一种解决复杂问题的思路,那就是根据应用的复杂程度合理的去分层。
image
      对于这种分层设计,我建议根据项目的实际情况合理的选择合理的分层设计,如果对于很小的项目选择复杂的分层设计,就会演变成为分层而分层的一种漩涡。
      AgileEAS.NET支持不同层级的开发,对于很简单的项目,你可以选择把界面、业务、数据访问全部放在模块模块UI实现;对于较复杂的项目,可以选择使用模块UI+数据访问层,把业务逻辑并入UI实现,更为复杂的项目可以把界面、业务、数据三部分严格分解甚至可以把这三层中的任务一层再分解,比方,数据访问层可以分解为数据访问接口层、数据访问实现层等,AgileEAS.NET提供一个基于消息的分布式通信服务,应用系统可选的基于它实现分布式应用。
      总之,系统的架构取决于客户的应用、技术力量等诸多方面,优秀的架构在于系统扩展、伸缩性以及系统的抽像程度之间寻找一种平衡。


本文转自 agilelab 51CTO博客,原文链接:http://blog.51cto.com/agilelab/561885
相关文章
|
30天前
|
数据安全/隐私保护 Windows
.net三层架构开发步骤
.net三层架构开发步骤
9 0
|
7月前
|
开发框架 .NET 容器
.NET Core-依赖注入:良好架构的起点
.NET Core-依赖注入:良好架构的起点
|
7月前
|
开发框架 .NET 容器
.net core依赖注入:良好架构的起点
.NET Core使用依赖注入框架来管理服务的依赖与生命周期。
|
11月前
|
分布式计算 NoSQL Java
1..Net平台历程介绍和.net framework和netcore的架构体系对比,以及框架的选择介绍
1..Net平台历程介绍和.net framework和netcore的架构体系对比,以及框架的选择介绍
174 0
|
12月前
|
缓存 前端开发 JavaScript
采用.Net Core技术框架开发的医院云LIS平台源码,B/S架构
基于B/S架构的医学实验室检验系统源码,整个系统的运行基于WEB层面,只需要在对应的工作台安装一个浏览器软件有外网即可访问。全套系统采用云部署模式,部署一套可支持多家医院检验科共同使用。 采用.Net Core新的技术框架、DEV报表、前端js封装、分布式文件存储、分布式缓存等,支持LIS独立部署,Docker部署等多种方式。
|
计算机视觉
Half-UNet:用于医学图像分割的简化U-Net架构
Half-UNet简化了编码器和解码器,还使用了Ghost模块(GhostNet)。并重新设计的体系结构,把通道数进行统一。
185 0
|
Linux 数据库 网络架构
推荐一个.Net Core轻量级插件架构
一个基于.Net Core的轻量级插件框架,集成非常简单,两行代码完成集成;支持新增Controller,动态路由;热插拔、易扩展、无需数据库。
257 0
推荐一个.Net Core轻量级插件架构
|
开发框架 JavaScript .NET
一个基于.Net Core遵循Clean Architecture原则开源架构
基于Asp.net Core 6开发的,遵循Clean Architecture原则,可以高效、快速地构建基于 Razor Pages 的 Web 应用程序。
115 0
一个基于.Net Core遵循Clean Architecture原则开源架构
|
关系型数据库 测试技术 BI
.Net微服务实战之技术架构分层篇(二)
.Net微服务实战之技术架构分层篇(二)
163 0
.Net微服务实战之技术架构分层篇(二)
|
运维 中间件 Devops
.Net微服务实战之技术架构分层篇(一)
.Net微服务实战之技术架构分层篇(一)
326 0
.Net微服务实战之技术架构分层篇(一)