基于.NET平台的分层架构实战(四)—实体类的设计与实现

实体类是现实实体在计算机中的表示。它贯穿于整个架构,负担着在各层次及 模块间传递数据的职责。一般来说,实体类可以分为“贫血实体类” 和“充血实体类”,前者仅仅保存实体的属性,而后者还包含一些实 体间的关系与逻辑。我们在这个Demo中用的实体类将是“贫血实体类 ”。

大多情况下,实体类和数据库中的表(这里指实体表,不包括 表示多对多对应的关系表)是一一对应的,但这并不是一个限制,在复杂的数据 库设计中,有可能出现一个实体类对应多个表,或者交叉对应的情况。在本文的 Demo中,实体类和表是一一对应的,并且实体类中的属性和表中的字段也是对应 的。

在看实体类的代码前,先看一下系统的工程结构。

如上图所示,在初始阶段,整个系统包括6个工程 ,它们的职责是这样的:

Web——表示层

Entity——存放实体类

Factory——存放和 依赖注入及IoC相关的类

IBLL——存放业务逻辑层接口族

IDAL——存放数据访问层接口族

Utility——存放各种工具类及辅助类

这只是一个初期 架构,主要是将整个系统搭一个框架,在后续开发中,将会有其他工程被陆陆续 续添加进来。

时间: 2024-08-03 14:51:44

基于.NET平台的分层架构实战(四)—实体类的设计与实现的相关文章

基于.NET平台的分层架构实战

基于.NET平台的分层架构实战(十一)-表示层的实现 基于.NET平台的分层架构实战(十)-业务逻辑层的实现 基于.NET平台的分层架构实战(九)-数据访问层的第三种实现:基 基于.NET平台的分层架构实战(八)-数据访问层的第二种实现:SQ 基于.NET平台的分层架构实战(七-外一篇)-对数据访问层第一种 基于.NET平台的分层架构实战(七)-数据访问层的第一种实现:Acc 基于.NET平台的分层架构实战(六)-依赖注入机制及IoC的设计 基于.NET平台的分层架构实战(五)-接口的设计与实现

基于.NET平台的分层架构实战(九)—数据访问层的第三种实现:基于NBear框架

基于.NET平台的分层架构实战(九)-数据访问层的第三种实现:基于NBear框架的ORM实现 前面的文章讨论了使用SQL语句和存储过程两种数据访问层的实现方式,这一篇里,将讨论使用ORM方式实现数据访问层的方法. 对象-关系映射(Object/Relation Mapping,简称ORM),是随着面向对象的软件开发方法发展而产生的.面向对象的开发方法是当今企业级应用开发环境中的主流开发方法,关系数据库是企业级应用环境中永久存放数据的主流数据存储系统.对象和关系数据是业务实体的两种表现形式,业务实

基于.NET平台的分层架构实战(八)—数据访问层的第二种实现:SQLServer+存储

基于.NET平台的分层架构实战(八)-数据访问层的第二种实现:SQLServer+存储过程 在上一篇中,讨论了使用SQL构建数据访问层的方法,并且针对的是Access数据库.而这一篇中,将要创建一个针对SQLServer数据库的数据访问层,并且配合存储过程实现. 曾经有朋友问我使用SQL和存储过程在效率上的差别,惭愧的是我对这方面没有研究,也没有实际做过测试.通过查阅资料,发现在一般情况下,存储过程的效率由于使用SQL,但是也不绝对,也发现有的朋友测试时发现在特定情况下SQL的效率优于存储过程,

基于.NET平台的分层架构实战(七-外一篇)—对数据访问层第一种实现(Access+

基于.NET平台的分层架构实战(七-外一篇)-对数据访问层第一种实现(Access+SQL)的重构 昨天的文章基于.NET平台的分层架构实战(七)--数据访问层的第一种实现:Access+SQL发布后,很多朋友对我的程序提出了意见和建议,在这里先谢谢你们!!!尤其是金色海洋(jyk),对我的程序提出了很多建设性的意见. 我大体总结了一下,昨天程序的主要缺点有: 1.Connection对象没有关闭 2.DataReader对象没有关闭 3.相似代码太多,造成代码冗余. 其中第一点问题,目前还没有

基于.NET平台的分层架构实战(五)—接口的设计与实现

接下来,将进行接口的设计.这里包括数据访问层接口和业务逻辑层接口.在 分层架构中,接口扮演着非常重要的角色,它不但直接决定了各层中的各个操作 类需要实现何种操作,而且它明确了各个层次的职责.接口也是系统实现依赖注 入机制不可缺少的部分. 本项目的接口设计将按如下顺序进行: 1.首先由前文的需求分析,列出主要的UI部分. 2.分析各个UI需 要什么业务逻辑支持,从而确定业务逻辑层接口. 3.分析业务逻辑层接口 需要何种数据访问操作,从而确定数据访问层接口. 另外,为保证完全的 面向对象特性,接口之

基于.NET平台的分层架构实战(一)—综述

通过浏览博客园的文章发现,很多朋友对分层架构特别感兴趣,刚好我刚做完 的毕业设计就是专门研究.NET平台上分层架构的(题目叫"基于.NET平台的 分层架构与设计模式应用研究").通过做这篇论文,我对分层架构有了一 定的了解,所以,就萌发了想写一个文章系列,详述一下分层架构.然而,论文 的理论性太强,不适合在网上发布,尤其不适合初学者理解,所以,我想在这个 文章系列中,少讲理论,而是通过做一个完整的案例来讨论分层架构的基本方法 ,这样会直观很多.希望在这个文章系列的写作过程中,能和朋友们

基于.NET平台的分层架构实战(六)—依赖注入机制及IoC的设计

我们设计的分层架构,层与层之间应该是松散耦合的.因为是单向单一调用, 所以,这里的"松散耦合"实际是指上层类不能具体依赖于下层类, 而应该依赖于下层提供的一个接口.这样,上层类不能直接实例化下层中的类, 而只持有接口,至于接口所指变量最终究竟是哪一个类,则由依赖注入机制决定 . 之所以这样做,是为了实现层与层之间的"可替换"式设计 ,例如,现在需要换一种方式实现数据访问层,只要这个实现遵循了前面定义的 数据访问层接口,业务逻辑层和表示层不需要做任何改动,只需要改一下

基于.NET平台的分层架构实战(三)—架构概要设计

架构基本原则: 这里,将描述一些在这个架构设计中的基本原则,其 中很多都是经典的设计原则,不过针对分层架构的特点,用我自己的语言进行了 描述.其中也有我自己提出的原则. 逐层调用原则及单向调用原则 现在约定将N层架构的各层依次编号为1.2.-.K.-.N -1.N,其中层的编号越大,则越处在上层.那么,我们设计的架构应该满足以下 两个原则: 1.第K(1<K<=N)层只准依赖第K-1层,而不可依赖其他 底层. 2.如果P层依赖Q层,则P的编号一定大于Q. 其中第一个原 则,保证了依赖的逐层性,

基于.NET平台的分层架构实战(十一)—表示层的实现

在这篇文章中,将讨论一下表示层的实现方法. 表示层是一个系统的 "门脸",不论你的系统设计的多么优秀,代码多么漂亮,系统的可 扩展性多么高,但是最终用户接触到的大多是表示层的东西.所以,表示层的优 劣对于用户最终对系统的评价至关重要.一般来说,表示层的优劣有一下两个评 价指标: 1.美观.即外观设计漂亮,能给人美的感觉. 2.易用. 即具有良好的用户体验,用户用起来舒服.顺手. 表示层的设计牵扯到很 多非技术性问题,如美工.用户心理学等问题,但是在这篇文章中,将不过多涉 及这些问题,一