文档章节

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

何戈洲
 何戈洲
发布于 2011/05/07 13:45
字数 1554
阅读 19
收藏 1

介绍

        上一篇我们讲述了《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、邮箱方式:

魏琼东: mail.james@qq.com 手机:18629261335 博客:http://eastjade.cnblogs.com/

殷长波:549558408@qq.com 博客: http://www.cnblogs.com/onmyway/

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

2、QQ交流群:

AgileEAS.NET平台交流群:120661978(超级群)[新建] 
AgileEAS.NET平台交流群:125643764(高级群)[新建] 
AgileEAS.NET平台交流群:147168308(高级群)[新建]

© 著作权归作者所有

何戈洲
粉丝 9
博文 43
码字总数 73654
作品 0
朝阳
高级程序员
私信 提问
基于DotNet构件技术的企业级敏捷软件开发平台 - AgileEAS.NET - 文章汇总及学习指南

一、AgileEAS.NET平台简介 AgileEAS.NET平台是一套应用系统快速开发平台,用于帮助中小软件开发商快速构建自己的企业信息管理类开发团队,以达到节省开发成本、缩短开发时间,快速适应市场变...

agilelab
2011/07/05
0
0
基于DotNet构件技术的企业级敏捷软件开发平台 - AgileEAS.NET - 4.0 最新发布版本 -下载使用说明

一、AgileEAS.NET发布包内容界面 在前些时间,我们对AgileEAS.NET平台平台进行了一次重构,进程序集进行了合并和裁剪,也发布一个基于新版AgileEAS.NET平台的SAAS结构的案例-AgileEAS.NET平台...

agilelab
2011/05/25
0
0
AgileEAS.NET平台开发实例-药店系统-UI层分析

介绍 上一篇我们给出了AgileEAS.NET的关于Bll层的实现原理和Bll层的写法,我们可以在实际的开发过程中更深入的了解和实践,本篇我们就来讲述下UI层的实现原理和相关的 技巧,可能会和之前讲述...

何戈洲
2011/05/07
60
0
AgileEAS.NET敏捷开发平台案例-药店系统-项目综述

开篇 在前面的章节中,我们说明了如何使用AgileEAS.NET敏捷开发平台俩开发药店系统,但是我们没有从总体上去说明AgileEAS.NET的一些功能,我们都是在细节上讲述了 一些该平台的相关特性,我们...

何戈洲
2011/05/07
181
0
应用SAAS结构技术的开源药店管理系统-源代码结构说明

一、药店系统内容说明 在前些时间,我们发布了一个基于AgileEAS.NET平台的SAAS结构的案例-AgileEAS.NET平台开发实例-药店系统-快速的SAAS开发体验,在文章中同时向大家提供了基于SAAS部署安全...

agilelab
2011/05/30
0
0

没有更多内容

加载失败,请刷新页面

加载更多

32位与64位Linux系统下各类型长度对比

64 位的优点:64 位的应用程序可以直接访问 4EB 的内存和文件大小最大达到4 EB(2 的 63 次幂);可以访问大型数据库。本文介绍的是64位下C语言开发程序注意事项。 1. 32 位和 64 位C数据类型...

mskk
21分钟前
6
0
Vue 实现点击空白处隐藏某节点(三种方式:指令、普通、遮罩)

在项目中往往会有这样的需求: 弹出框(或Popover)在 show 后,点击空白处可以将其 hide。 针对此需求,整理了三种实现方式,大家按实际情况选择。 当然,我们做项目肯定会用到 UI 框架,常...

张兴华ZHero
28分钟前
7
0
SpringBoot激活profiles你知道几种方式?

多环境是最常见的配置隔离方式之一,可以根据不同的运行环境提供不同的配置信息来应对不同的业务场景,在SpringBoot内支持了多种配置隔离的方式,可以激活单个或者多个配置文件。 激活Profi...

恒宇少年
29分钟前
7
0
PDF修改文字的方法有哪些?怎么修改PDF文件中的文字

PDF修改文字一直以来都是一个难以解决的问题,很多的办公族在办公的时候会有修改PDF文件中的文字的需要,可是PDF文件一般是不能进行编辑和修改的,难道就没有什么办法解决这个问题了嘛?不要...

趣味办公社
32分钟前
5
0
企业组织中采用服务网格的挑战

作者:Christian Posta 译者:罗广明 原文:https://blog.christianposta.com/challenges-of-adopting-service-mesh-in-enterprise-organizations/ 编者按 本文作者介绍了企业组织采用服务网...

jimmysong
42分钟前
8
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部