AgileEAS.NET平台开发实例-药店系统-准备开发环境(中)

简介: 介绍         上一篇我们讲述了《AgileEAS.NET平台开发实例-药店系统-准备开发环境(上)》将生成的解决方案进行相关配置。本篇我们将会开始讲述如下内容:如何基于现有的解决 方案来搭建一个可测试的运行环境,并且我们新建一个简单的例子,通过例子来说明我们如何来开发一个新的功能模块。

介绍

        上一篇我们讲述了《AgileEAS.NET平台开发实例-药店系统-准备开发环境(上)》将生成的解决方案进行相关配置。本篇我们将会开始讲述如下内容:如何基于现有的解决

方案来搭建一个可测试的运行环境,并且我们新建一个简单的例子,通过例子来说明我们如何来开发一个新的功能模块。

        一、添加UI层

        image

        2、添加“BLL”层类库

        image

        添加好之后,我们就可以进行相关的后续工作了。

大纲

1、新建一个BLL层的业务逻辑服务

2、新建一个UI层模块

3、配置测试环境。

4、测试模块运行。

新建一个业务逻辑层服务

       上面我们已经添加好了UI、BLL层工程,下面我们就来看看如何来属性业务逻辑层,首先,该层可以是分布式服务层与普通服务层的集成。这个怎么理解呢?下面我们来说

明下:

        1、书写普通或者分布式业务逻辑,我们都要进行如下的格式来书写,否则如果之后想进行分布式的迁移,那么将无法通过配置文件来配置就可以完成无缝切换。

        a、不使用AgileEAS.NET平台的普通的业务逻辑层:

        image我们这里添加了一个类“药品字典”实体,该业务逻辑返回所有的行,我们平时可能书写的方式就

是使用贫血模型,在业务逻辑层处理实体真正的业务逻辑,然后服务层完成实体数据的持久化。

       b、使用AgileEAS.NET的业务逻辑层写法。

        首先、添加如下几个程序集引用。

       image

       其次、我们还是新建一个查询药品字典的服务:

       基础数据访问组件

       image

      基于基础业务逻辑服务组件之上构建自身的业务逻辑服务:

      image

       再次、这样我们就完成了关于实体数据的查询服务,其他的相关方法类似,比如我们在业务逻辑层处理复杂的业务逻辑,事务处理等。后面我们在具体的模块编码中会给

出具体的案例写法。

       最后、我们写完基本的服务层逻辑后,我们来看看如何书写一个模块,也可以理解为插件。通过该模块来访问实体中的数据信息。

新建一个UI模块

       上面我们给出了服务层(业务逻辑层)内容的东西,当然我们这里并不针对业务逻辑层与服务层之间的具体拆分,例如单独分离出服务层,或者单独将业务逻辑层的东西

进行严格的划分。我们这里的业务逻辑层可以理解为分布式访问的服务层。当然如果拆分的话,我们可以把业务逻辑层写完,在业务逻辑层之上提供服务层,然后服务层才是

真正的分布式服务。

       下面我们来构建一个新的模块

        1、添加相关的程序集引用:

    image

    2、新建一个”药品字典“维护页面

    image

    3、添加用户控件:

    image

    4、添加好用户控件后,我们先打开界面设计器:拖一个toolBar控件。

    image

    5、拖一个toolStrip到控件后,再拖一个Datagridview控件,用于显示相关的“药品字典”信息。

    image

    6、添加几个按钮后的界面如下:

    image

    7、选择数据源中点击下拉框:

     image

     8、选择添加项目数据源:

     image

    9、根据选择的实体对象,加载对象中的属性列:

     image

     10、我们选择DrugDict作为我们的数据源对象:

     image

     11、在该对象前打勾后,点击”完成“:

      image

      12、在Datagridview控件右侧的设置按钮:

      image

      13、点击编辑了,设置具体的每列的说明信息:

      image

      14、最终效果图如下:

      image

      既然界面已经设计完毕了,那么我们就开始编码了。

      1、由于我们可能在所有的常用页面中都有用到如下几个功能:

            a、打印。

            b、焦点控制。

            c、系统时间。

            d、其他公用部分。

            那么基于上述的几点功能,我们如何来做呢?可能大家就想到了,通过基类来把每个子类都要用到的功能提升为公共父类。这也是很多重构代码中的技巧之一。

            下面我们来定义一个用户控件基类”BaseUserControl”:

            image

           具体的代码如下:

           报表相关:

           image

           打印窗体:

           image

          具体的关于基类中的其他代码请参考源代码中的写法。

    2、书写模块相关的模块定义和标记信息:

         image

    3、关于ModuleStart的作用:

         image

    4、通过上面的标记,我们的模块已经能够在资源管理器平台中识别出该模块了,关于具体的业务方法和使用,我们在后面的模块中继续讲解和说明,本文来讲述后续的关于

测试环境的搭建。

总结

        本篇大量的说明了如何来设计BLL层和UI层模块的构建,下篇中我们将会说明如何来将测试环境搭建起来,并且能够将我们的药品字典的数据显示出来,我们后续会不断的

完善其中的添加,编辑,删除等功能。通过较短的时间来完成功能模块的快速开发。

 

药店系统源码

download3

更多交流

官方博客:http://www.smarteas.net/

官方网站:http://www.agilelab.cn/

如果您在使用AgileEAS.NET开发平台中有什么问题,请使用如下几种联系方式或者沟通方式。

1、电话-邮箱方式:

何戈洲hegezhou_hot@163.com 手机:18691480181 博客:http://www.cnblogs.com/hegezhou_hot/

2、QQ交流群:

308961614 网名:H.O.T


作者:IT行者-何戈洲
出处:http://www.cnblogs.com/hegezhou_hot/
2007年大学毕业后便投入到计算机行业中,先后涉足(电信、电子商务、教育、医疗、工程建筑、项目管理、房产)等行业,目前有比较丰富的技术及行业经验,技术方面涉及(Java、Go、.NET、Python、设计模式、系统架构、PM管理流程、软件工程、敏捷开发、SOA、云计算、大数据、区块链、WF、SAAS等领域),结合业务可提供(EIP、ERP、HIS、B2B、B2C、B2B2C、CRM、OA、O2O等)业务及技术解决方案,随着时间的推移,目前已逐步转向管理方面,欢迎同行一起交流学习,个人平时爱好体育运动、音乐、旅游等,向往丰富多彩的生活旅程。如有问题或建议,请多多赐教!
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,如有问题,可以通过hegezhou_hot@163.com  联系我,非常感谢。
其他联系方式:
电话:13716055594
联系人:何戈洲
微信联系我:

CallHot

反馈文章质量,你可以通过快速通道评论:
目录
相关文章
|
1月前
|
机器学习/深度学习 人工智能 Cloud Native
在数字化时代,.NET 技术凭借其跨平台兼容性、丰富的类库和工具集以及卓越的性能与效率,成为软件开发的重要平台
在数字化时代,.NET 技术凭借其跨平台兼容性、丰富的类库和工具集以及卓越的性能与效率,成为软件开发的重要平台。本文深入解析 .NET 的核心优势,探讨其在企业级应用、Web 开发及移动应用等领域的应用案例,并展望未来在人工智能、云原生等方面的发展趋势。
34 3
|
1月前
|
存储 设计模式 编解码
.NET 8.0 通用管理平台,支持模块化、WinForms 和 WPF
【11月更文挑战第5天】本文分析了.NET 8.0 通用管理平台在模块化、WinForms 和 WPF 方面的优势。模块化设计提升了系统的可维护性和可扩展性,提高了代码复用性;WinForms 提供了丰富的控件库和简单易用的开发模式,技术成熟稳定;WPF 支持强大的数据绑定和 MVVM 模式,具备丰富的图形和动画功能,以及灵活的布局系统。
|
4月前
|
开发者 API Windows
从怀旧到革新:看WinForms如何在保持向后兼容性的前提下,借助.NET新平台的力量实现自我进化与应用现代化,让经典桌面应用焕发第二春——我们的WinForms应用转型之路深度剖析
【8月更文挑战第31天】在Windows桌面应用开发中,Windows Forms(WinForms)依然是许多开发者的首选。尽管.NET Framework已演进至.NET 5 及更高版本,WinForms 仍作为核心组件保留,支持现有代码库的同时引入新特性。开发者可将项目迁移至.NET Core,享受性能提升和跨平台能力。迁移时需注意API变更,确保应用平稳过渡。通过自定义样式或第三方控件库,还可增强视觉效果。结合.NET新功能,WinForms 应用不仅能延续既有投资,还能焕发新生。 示例代码展示了如何在.NET Core中创建包含按钮和标签的基本窗口,实现简单的用户交互。
79 0
|
7月前
|
数据采集 存储 监控
.NET智慧手术室管理平台源码
术前访视记录单、手术风险评估表、手术安全核查表、自费药品或耗材、麻醉知情同意书、麻醉记录单、分娩镇痛记录单、麻醉复苏单、术后镇痛记录单、术后访视记录单、压伤风险评估量表、手术清点记录单、护理记录单、输血护理记录单。
126 0
|
7月前
深入.net平台的分层开发
深入.net平台的分层开发
|
7月前
|
Web App开发 开发框架 .NET
asp.net基于WEB层面的区域云LIS系统平台源码
asp.net基于WEB层面的区域云LIS系统平台源码
77 1
|
7月前
|
Web App开发 开发框架 .NET
asp.net基于WEB层面的云LIS系统平台源码
结合当今各检验科管理及实验室规模的不同状况,充分吸收当今IT科技的最新成就,开发出以高度产品化、功能强大、极易实施操作、并不断升级换代为主要特点的LIS系统。彻底解决检验科的信息孤岛,全面实现全院信息互通互联、高度共享,并为检验科的规范化管理提供了有力工具。
70 0
|
开发框架 .NET API
Hangfire .NET任务调度框架实例
# 1、介绍 Hangfire是一个开源的.NET任务调度框架,提供了内置集成化的控制台(后台任务调度面板),可以直观明了的查看作业调度情况。 # 2、Nuget安装 ![请在此添加图片描述](https://developer-private-1258344699.cos.ap-guangzhou.myqcloud.com/column/article/5877188/20231031-119e3068.png?x-cos-security-token=baeOYKJ0BOuKXaDG6L8qKX7pdH823CLaaefd8181d9b33eccf4b2a2f35cd15dd7jLbyf
99 0
Hangfire .NET任务调度框架实例
|
开发框架 小程序 数据可视化
基于.NET、Uni-App开发支持多平台的小程序商城系统 - CoreShop
基于.NET、Uni-App开发支持多平台的小程序商城系统 - CoreShop
136 0
|
存储 前端开发 程序员
一款基于.Net开发、开源、支持多平台云存储文件管理器
一款基于.Net开发、开源、支持多平台云存储文件管理器
72 0
下一篇
DataWorks