从头开始做一个OA项目(五) 面向接口编程和层之间关系引用

UI    前一篇我们已经带领大家搭建了一个非常简单的三层架构,并且按照搭建顺序完成(实体类库,数据访问,业务逻辑,UI,关于搭建三层的顺序,并没有统一的说法,但是我习惯于从下而上的搭建)。再贴一次图(1-1)我们来回忆一下。

图1-1

(一)  添加引用关系

我们现在要为三层各个类库之间引用关系。按照前面我们在讲解三层的文章来做一下引用关系。数据访问层引用实体类库,业务逻辑层引用数据访问,UI层引用业务逻辑层,那么这三层之间都要引用实体类库。这里再次强调一下,实体类库不属于三层中的层次结构,实体类库只不过是三层中传输的数据容器。下面我就利用VS中的建模工具先把引用关系来画出来。

这就是我们的引用关系示例图,对于我们的VS项目来说,添加引用很简单。来让我们来看一下怎么添加引用。

数据访问引用实体类库

业务逻辑层引用

上面是UI层的引用关系

时间: 2024-10-27 02:52:54

从头开始做一个OA项目(五) 面向接口编程和层之间关系引用的相关文章

从头开始做一个OA项目(三) 关于三层架构思想

下面就开始一步一步的搭建我们的项目三层架构,自从微软的PetShop推出以来,似乎它就成了三层的代名词.在国内.Net界几乎所有的项目都是根据PetShop来搭建三层架构,甚至我还见过一些项目直接就把它的架构拷贝过来,一丝未改.直接使用.在搭建之前,为了便于还未接触过三层的同学了解.我们先把三层架构的基本概念解释一下.我们先来思考一个场景.我们大家都去过饭店吃饭,那么大家回忆一下我们吃饭的流程是个什么样子呢?如下图所示. 当我们推开饭店的大门,马上就会迎来一个笑容可掬的服务员,她会忙着招待我们,

用struts2标签如何从数据库获取数据并在查询页面显示。最近做一个小项目,需要用到struts2标签从数据库查询数据,并且用迭代器iterator标签在查询页面显示,可是一开始,怎么也获取不到数据,想了许久,最后发现,是自己少定义了一个变量,也就是var变量。

最近做一个小项目,需要用到struts2标签从数据库查询数据,并且用迭代器iterator标签在查询页面显示,可是一开始,怎么也获取不到数据,想了许久,最后发现,是自己少定义了一个变量,也就是var变量.<s:iterator>标签有一个value属性,用来存放在Action类的方法中存数据的list集合,还有一个id,好像是说指定集合的索引的意思,就是给list集合遍历出来的每个对象加上一个数字标签,反正我是这么理解的,没用过.还有一个很重要,就是var变量,我在s:iterator按ctr

如何做一个软件项目经理? ----写给公司所有的开发人员

注:文本中的"我",均是网上作者(前三部分来自网络文章,第四部分除外). 第一部分:软件项目经理的要求 首先是一个管理者,其次熟悉某些工具,某几种语言,行业背景,项目管理技能. 软件项目经理面临的恶劣环境,我们绝大部分软件企业运行在相对混乱的状态(CMM一级),组织不大可能对项目以及项目经理的责任做出明确.合适的界定,所以,影响项目成功的一切因素都是项目经理的责任,包括客户.环境.考核.激励等等. 一.责任心.取得项目的成功无疑是项目经理的责任.项目经理只有把客户的满意和企业长期利益作

用springboot框架做一个web项目实现简单的增,删,改,查功能的流程

完成这个项目主要过程如下: 1  首先要读懂需求,这样我们才能跟好的去设计细节,是做出来的东西更好的符合要求. 2 根据需求创建相应的实体类,例如学生管理系统,我们是不是该创建一个学生的实体类,然后根据具体的要求,需要 哪些学生的信息,比如,姓名.年龄.性别.身份证号码.班级.电话等等.把他们都设置为学生的属性. 3  根据学生的属性去创建一个学生表在数据库中,把每一个学生的属性设置为学生表中的一个字段,在设置字段的时候应该要让表中的 实体类中的名称劲量一致,这样会避免不必要的麻烦.其次他们的类

Winform窗体用对象数组做一个小项目

首先我我们看一下需求:我们要做的是显示员工信息,实现项目经理给员工评分的功能! 首先项目经理是评分的人所以没有用,因为我们自己写,评分的就是我们自己.所以我们要做的是先在vs也就是我们的环境里建一个项目,在建一个Windows窗体应用程序,然后把控件拖好! 左边是查看员工的信息窗体,右边是给员工评分的窗体: 1.我们现在开始代码部分 我们首先需要一个辅助类,在辅助类里我们要做什么呢?我们要写这些东西. public int id;        public int age;        pu

第一讲 从头开始做一个web qq 机器人,第一步获取smart qq二维码

新手教程: 前言:最近在看了一下很久很久以前做的qq机器人失效了,最近也在换工作目前还在职,时间很挺宽裕的.就决定从新搞一个web qq机器人 PC的协议解析出来有点费时间以后再做. 准备工作: 编译工具:vs2017 编程语言:C# 或者.net 开始建一个SDK  新建文件 -项目 -选择类库-(WEBQQSDK)-添加一个类 smartqq 第一步,登录了一下Smart QQ,以这个HTTP协议,做机器人交互吧,TX把这个版本的很多功能去掉了,基本的群聊,私聊 收发信息之类还在.(用谷歌浏

尝试用kotlin做一个app(五)

JSP后台管理系统 开发工具是IntelliJ IDEA+tomcat+mysql5.6.19+mysql-connector-java-5.1.48.jar+easyui+kindeditor 之前也有记录一些Servlet基础(java,idea) 这篇我只把一些重要的记录一下 easyui官方文档 kindeditor官方文档 easyui很简单,而且中文文档介绍得很详细,对照文档做就好了 kindeditor问题比较多,这里记录一下 准备工作 mysql数据库test中建立t_hp_ne

快速构建一个权限项目(五)

今天我们首先讲的是Json转化工具-JsonMapper开发: 在这里我们首先在pom文件引入jackson的两个依赖,分别是: <!-- jackson --> <dependency> <groupId>org.codehaus.jackson</groupId> <artifactId>jackson-core-asl</artifactId> <version>1.9.13</version> <

最近在做一个地图项目,关于GPS转火星高德坐标的算法如下

希望对各位开发者有用,测试误差不大 #pragma mark - 高德地图GPS转坐标 // location lati, longi #define pi 3.14159265358979324 NSArray * TransformGPStoMAMAP(NSString * location) { NSArray * result = nil; // a = 6378245.0, 1/f = 298.3 // b = a * (1 - f) // ee = (a^2 - b^2) / a^2