AgileEAS.NET平台开发实例-药店系统-系统架构设计

简介:

介绍

 

        本篇将会讲述如何使用AgileEAS.NET敏捷开发平台来进行药店系统的开发,首先我们需要根据需求文档来设计出药店系统的系统架构,才能继续进行后续的开发工作,整

理好架构后,然后一步步的完成具体的详细设计,数据库建模等,这样的完整步骤后,就可以开展具体的编码工作了,我们首先来看看根据药店系统的一些功能性的需求和非

功能性的需求来决定系统的架构设计,并且分解AgileEAS.NET平台已提供的相关功能来结合分析。

 

分析

          一、AgileEAS.NET平台的分层结构

        1、基于AgileEAS.NET平台的逻辑架构设计分析

        image

        从上图我们可以看出,AgileEAS.NET开发平台之上的架构设计与我们平时说的架构设计中的分层与设计之上并没有什么本质的差别,唯独是底层的数据访问层(DAL)上的

设计有一些细微的差别,下面我们来画图分析下相关的区别。

        AgileEAS.NET平台使用的模型是充血模型,意味着模型本身除了附带数据相关的信息外,还包含一些操作。

        image

        大家可以看看AgileEAS.NET平台中的DAL层就知道了,这里我就不贴出相关的代码了。

      2、AgileEAS.NET平台的物理架构设计分析

    image

        上面给出了AgileEAS.NET平台的物理架构中的的分布式访问形式,当然还有简单的形式,即直接不通过分布式访问服务来访问数据库,而是直接UI层通过DAL层或者服务

层,来直连数据库访问数据,而不是分布式的形式,具体的访问图如下:

        image 

        通过上面的分析,我们应该对AgileEAS.NET平台的相关设计架构支持有了一定的了解,那么我们在设计架构时,就考虑如何使用AgileEAS.NET平台提供的对架构的

非功能性要求的支持。下面我们就来看下如何结合药店系统来分析架构。

        

药店系统-架构设计

 

 

 

首先、可以说现在的分层结构是非常的流行,也是很容易理解和很容易来使用,当然目前的任何架构其实都是可以通过分层来达到一定程度的职责分离和低耦合,高内聚

的原则,但是我们不会为了分层而分层,那样只会让我们的工作量变大和复杂。 完事都要讲究一个平衡。

下面我们来分析下,基于药店,我们来分析下药店系统可能的分层结构。

image_thumb[32]

当然上图只是给出了主要的功能模块,还有一些统计分析和基础数据维护等模块,并没有画上,我们只要满足这些主要的功能需求,下面我们来看看一些非功能性的需

求,我们在设计架构的时候,必须要考虑清楚非功能性需求,否则设计出来的结构只能失败。

非功能性需求如下:

1、要支持远程访问,多用户使用。

2、要性能高,效率快,易用性。

3、可扩展,可维护。

基于上述的几点非功能性需求,刚好AgileEAS.NET敏捷开发平台,为我们提供了如下的高强度的支撑,下面我们画图来说明:

1、支持远程访问,多用户使用。

image_thumb[38]

        当然普通形式也可以使用服务层,这里不会影响到具体功能的使用,这里想说的是,平台默认提供了对分布式服务的支持。可以做到无缝的切换。关于具体的分层设计与

大家原来的多次结构并不冲突,只不过DAL层已经默认是充血模型了。

2、高性能,易用性等。

image_thumb[43]

3、可扩展性及可维护性

image_thumb[47]

由于平台采取的平台+插件的组织形式,因此可以做到如下要求:

1、可扩展。

2、并行开发。

3、平台提供插件的配置与管理。包括资源的分配与回收,生命周期等管理。

下面我们就来分析下根据上述的非功能性需求,我们必须要完成的开发工作原本是要实现分布式访问的支持,现在我们不需要实现这些内容,AgileEAS.NET平台已经为我

们实现了,我们只是在使用该分布式访问服务时满足相应的服务定义要求即可。我们具体的使用要求及定义要求,我们会在后续的服务层的开发过程中讲述。

药店系统的架构设计:

1、结合前面的非功能性需求,我们设计出如下架构:

image_thumb[50]

2、当然如果说访问太频繁或者数据交互量大,我们还可以抽出DTO。

image

3、结合MVC框架来使用该架构:

image

        当然具体的应用场景如何结合来设计等,就是看我们应用场景的需求了,我们本系列将以第一个架构为最终的版本来进行开发,我们选取该架构的主要原因是简单,可

行,并且能够满足需求。

 

 

总结

 

        本篇主要是分析了AgileEAS.NET的架构及分析了药店系统的整体架构设计,我们并没有关注一些细节方面的内容,后续关于一些更详细的内容,将会在后面的开发过程中

体现。当然由于本人水平有限,部分不足或者设计剖析错误之处,还请大家指定。






本文转自何戈洲博客园博客,原文链接:http://www.cnblogs.com/hegezhou_hot/archive/2011/03/31/2000662.html,如需转载请自行联系原作者

目录
相关文章
|
21天前
|
人工智能 芯片
D1net阅闻|OpenAI员工疯狂暗示,内部已成功开发ASI?被曝训出GPT-5但雪藏
D1net阅闻|OpenAI员工疯狂暗示,内部已成功开发ASI?被曝训出GPT-5但雪藏
|
6天前
|
消息中间件 安全 NoSQL
布谷直播系统源码开发实战:从架构设计到性能优化
作为山东布谷科技的一名技术研发人员,我参与了多个直播系统平台从0到1的开发和搭建,也见证了直播行业从萌芽到爆发的全过程。今天,我想从研发角度,分享一些直播系统软件开发的经验和心得,希望能对大家有所帮助。
|
2月前
|
开发框架 前端开发 .NET
一个适用于 .NET 的开源整洁架构项目模板
一个适用于 .NET 的开源整洁架构项目模板
69 26
|
22天前
|
人工智能 Java 数据处理
Java高级应用开发:基于AI的微服务架构优化与性能调优
在现代企业级应用开发中,微服务架构虽带来灵活性和可扩展性,但也增加了系统复杂性和性能瓶颈。本文探讨如何利用AI技术,特别是像DeepSeek这样的智能工具,优化Java微服务架构。AI通过智能分析系统运行数据,自动识别并解决性能瓶颈,优化服务拆分、通信方式及资源管理,实现高效性能调优,助力开发者设计更合理的微服务架构,迎接未来智能化开发的新时代。
|
2月前
|
监控 JavaScript 数据可视化
建筑施工一体化信息管理平台源码,支持微服务架构,采用Java、Spring Cloud、Vue等技术开发。
智慧工地云平台是专为建筑施工领域打造的一体化信息管理平台,利用大数据、云计算、物联网等技术,实现施工区域各系统数据汇总与可视化管理。平台涵盖人员、设备、物料、环境等关键因素的实时监控与数据分析,提供远程指挥、决策支持等功能,提升工作效率,促进产业信息化发展。系统由PC端、APP移动端及项目、监管、数据屏三大平台组成,支持微服务架构,采用Java、Spring Cloud、Vue等技术开发。
120 7
|
3月前
|
Linux API C#
基于 .NET 开发的多功能流媒体管理控制平台
基于 .NET 开发的多功能流媒体管理控制平台
69 9
|
3月前
|
弹性计算 API 持续交付
后端服务架构的微服务化转型
本文旨在探讨后端服务从单体架构向微服务架构转型的过程,分析微服务架构的优势和面临的挑战。文章首先介绍单体架构的局限性,然后详细阐述微服务架构的核心概念及其在现代软件开发中的应用。通过对比两种架构,指出微服务化转型的必要性和实施策略。最后,讨论了微服务架构实施过程中可能遇到的问题及解决方案。
|
4月前
|
Cloud Native Devops 云计算
云计算的未来:云原生架构与微服务的革命####
【10月更文挑战第21天】 随着企业数字化转型的加速,云原生技术正迅速成为IT行业的新宠。本文深入探讨了云原生架构的核心理念、关键技术如容器化和微服务的优势,以及如何通过这些技术实现高效、灵活且可扩展的现代应用开发。我们将揭示云原生如何重塑软件开发流程,提升业务敏捷性,并探索其对企业IT架构的深远影响。 ####
97 3
|
4月前
|
Cloud Native 安全 数据安全/隐私保护
云原生架构下的微服务治理与挑战####
随着云计算技术的飞速发展,云原生架构以其高效、灵活、可扩展的特性成为现代企业IT架构的首选。本文聚焦于云原生环境下的微服务治理问题,探讨其在促进业务敏捷性的同时所面临的挑战及应对策略。通过分析微服务拆分、服务间通信、故障隔离与恢复等关键环节,本文旨在为读者提供一个关于如何在云原生环境中有效实施微服务治理的全面视角,助力企业在数字化转型的道路上稳健前行。 ####
|
3月前
|
Java 开发者 微服务
从单体到微服务:如何借助 Spring Cloud 实现架构转型
**Spring Cloud** 是一套基于 Spring 框架的**微服务架构解决方案**,它提供了一系列的工具和组件,帮助开发者快速构建分布式系统,尤其是微服务架构。
368 69
从单体到微服务:如何借助 Spring Cloud 实现架构转型

热门文章

最新文章