一个分层架构设计的例子(2)
上篇介绍了实体类(Entity)、数据库访问类(DAL)、数据访问接口(IDAL)的相关设计,本篇主要讨论下面几个部分内容:业务逻辑层、缓存机制、界面层等方面。
业务逻辑层,主要是业务逻辑基类的设计,由于数据库访问类(DAL)的基类封装了大量的操作实现,因此,业务逻辑层的主要工作是进一步封装对底层访问接口的实现,如下所示。
WinForm方面的(颜色标明的是使用了特定的界面控件,其中红色部分为和整个架构整合起来的分页控件,集成了一些基本的右键菜单操作,包括打印功能、数据导出功能等):
Winform分页控件设计视图
可以选择列进行打印
在实际运用过程中的界面效果
WebForm方面的(可以使用之前文章介绍的查询控件、分页控件、内容编辑控件):
下图是查询控件和分页控件的一起运用:
修改内容时候的编辑控件
查看内容时候的编辑控件
以上所引用的代码是通过代码生成工具Database2Sharp自动生成(http://www.iqidi.com/Database2Sharp.htm),选择EnterpriseLibrary架构即可。
本文转自博客园伍华聪的博客,原文链接:一个分层架构设计的例子(2),如需转载请自行联系原博主。

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
Do it early, do it often, do it automatically (转)
上篇博客转眼已是半年前的了,最近有两个原因,促使我再次写博: 一是深深感到,在软件开发行业,有很多我认为已经是“常识性”的东西,可是对很多团队却完全没有体会。敏捷软件开发已走过十年时间,可是仍未普及,我觉得一个原因正在于此:很多“最佳实践”,它背后的原理,仍不被很多团队理解。反过来说,只有行业把这些东西当做“常识”了,敏捷才会真正的普及开来。 这些“常识性”的东西,往往很小。很小的实践,背后却隐藏着一种价值观。作为个人来说,如果能跟拥有共同常识、共同价值观的人共事,无疑会让每天的工作更加愉快。可是正因为它“小”,导致我一直没有动力把它们写下来,直到前几天参加上海的敏捷沙龙,聆听了Daniel Teng的演讲《Survival》。 这个主题演讲非常好,讲的是个人和组织怎么在当今信息爆炸的年代生存下来。其中有一个观点:个人在自己的知识更新过程中,要保持“habit to ship”——如同软件开发中的“持续集成”/“持续交付”,个人所学的知识也要经常“交付出去”,“交付”的形式可以是写博客、可以是做演讲……目的是一样的:1是寻求反馈;2是小步伐前进,积少成多。 很有趣的是Daniel的这...
- 下一篇
一个分层架构设计的例子(1)
一般来说,对系统的分层,一般都需要下面几个层:实体层(Entity)、数据访问层(DAL)、业务逻辑层(BLL)、界面层(UI);而数据访问层,一般也会加入一个接口层(IDAL)。 在其中的实体层,一般是根据数据库进行映射外加入注释等,技术含量不大,在此一笔带过;数据库访问层和业务逻辑层,是关键之所在,因为这里好的设计,会利用很多基类的操作,减少很多代码和重复劳动;界面层,不管是WebForm还是WinForm,都是尽可能少的逻辑代码或者SQL语句在其中,好的项目可能会利用一些优秀的控件进去,提高体验,减少代码。另外,由于一些创建操作费时费资源,一般还需要把可重复利用的资源缓存起来,提高性能。 先给大家预览下项目的框架,再一层层分析讨论: 1、 实体层(定义一个空的基类,其他实体类继承之,主要是为了利用泛型操作,用途下面细说) public class BaseEntity {} public class EquipmentInfo:BaseEntity {FieldMembersPropertyMembers} 2、 数据库访问层,数据访问层的关键是数据访问基类的设计,基类实...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- Jdk安装(Linux,MacOS,Windows),包含三大操作系统的最全安装
- CentOS8安装MyCat,轻松搞定数据库的读写分离、垂直分库、水平分库
- CentOS7设置SWAP分区,小内存服务器的救世主
- Windows10,CentOS7,CentOS8安装MongoDB4.0.16
- CentOS7安装Docker,走上虚拟化容器引擎之路
- SpringBoot2初体验,简单认识spring boot2并且搭建基础工程
- CentOS关闭SELinux安全模块
- Docker快速安装Oracle11G,搭建oracle11g学习环境
- CentOS7编译安装Gcc9.2.0,解决mysql等软件编译问题
- Docker安装Oracle12C,快速搭建Oracle学习环境