`
piperzero
  • 浏览: 3466059 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
文章分类
社区版块
存档分类
最新评论

三层架构简单案例分析

 
阅读更多

最近在网上找了一些资料学习三层架构的知识,初学者就像我来说理解那些抽象的道理还是很困难的,其实不妨用一个小例子来好好地分析一下

首先,我们需要明白的是三层架构的划分原理:(如下图所示)


各个层的任务

数据访问层:为数据库中的每个表,设计一个数据访问类,类中实现:记录的插入、删除、单条记录的查询、记录集的查询,单条记录的有无判断等基本的数据库操作方法。对于一般的管理信息软件,此层的设计时类似的,包含的方法也是基本相同,此层的任务是:封装每个数据表的基本操作,为实现业务逻辑提供数据库访问的基础。

业务逻辑层:为用于的每个功能模块,设计一个业务逻辑类,此时,需要利用相关的数据访问层类中,记录操作方法的特定集合,来实现每个逻辑功能。

界面层:根据用户的具体需求,为每个功能模块,部署输入控件,操作控件和输出控件,并调用业务逻辑层中类的方法实现功能。

层和层之间的调用关系:

数据访问层的类,直接访问数据库,实现基本记录操作。

业务逻辑层的类,调用相关的数据访问类,实现用户所需功能。

界面层部署控件之后,调用业务逻辑层的类,实现功能。

说了这么多,先看看一个简单的小例子吧。

下面是一个学生信息管理系统中课程添加的一个小功能。


数据访问层的方法设计

一般为系统数据库中的每个表设计一个数据访问类,实现基本的记录操作。为了实现课程记录的添加,目前,可以在数据访问类中包含下面的方法:

1、 判断某主键的记录是否存在

方法名:Exist

形参:代表主键的变量

返回值:bool

2、 课程的添加

方法名:AddCourse

形参:代表此表实体类的对象

返回值:int

业务逻辑层的方法设计

一般系统中的某个功能模块设计一个业务逻辑层的类,实现此模块的所有业务逻辑,在课程添加中,我们所需要的业务逻辑是位课程添加。

首先,需要调用数据访问类的方法,因此,在类内设计一个字段为此类对象

其次,此类需要设计下面的方法:

1、 添加课程:

方法名:AddCourse1

形参:课程类对象

返回值:void

首先是调用数据访问层中的exist()方法,判断形参所表示的课程类对象是否存在,若存在方法返回。

接着调用数据访问层中的AddCourse()方法,添加课程,并利用返回值判断添加是否成功。

界面层的设计

界面层的设计,首先需要根据用户的功能需求部署恰当的控件。然后,把工恩那个实现代码放在恰当控件的恰当事件中,在这些代码中,需要调用业务逻辑层的方法实现,课程添加时,界面上主要的功能如下:

1、 按下添加按钮,实现课程记录的插入

代码放在按钮的click事件中;

代码设计思路:首先进行控件的正确性验证;其次利用控件的输入值,生成一个课程实体类对象;利用此对象,调用业务逻辑类对象的添加方法,插入记录,然后刷新。

这样就完成了。

大家有没有发现在这里边是按照数据访问层、业务逻辑层、界面层一层一层的调用的。

就写到这里了,我也是刚刚学习,希望大家能够提出宝贵的意见和建议。

分享到:
评论

相关推荐

    Web三层架构案例

    基于Eclipse开发的经典web三层架构实际案例,非常适合刚入门的童鞋~

    c#三层架构讲解和实例分析

    c#三层架构讲解和实例分析

    三层架构讲解和实例分析

    三层架构讲解和实例分析

    基于三层架构的ASP.NET项目实战教程,完整扫描版

    全书共10章,主要包括贯穿项目案例介绍、传统的三层框架、项目框架分析、项目表示层技术、业务逻辑层技术、数据访问层技术linq、项目框架技术微软企业类库、uml实现面向对象的分析与设计、办公自动化系统综合案例、...

    MVC 三层架构

    目录MVC 三层架构1. 分层简介2. 包目录结构3. 数据访问层4. 流程图5. 综合案例:用户信息列表展示a. 主要需求b....三层架构即改造了 MVC 以后的架构,也就是 MVC 架构的升级版,MVC 基本结构详见:MVC 模

    从物联网三层架构看当代信息网络技术

    从物联网本质上看,物联网是现代信息技术发展到一定阶段后出现的一种聚合性应用与技术的提升,根据需要实现物品互联互通的网相连接,进行信息交换和通信,以实现智能化识别、定位、跟踪、监控和管理的智能网络系统。

    第三层交换(pdf文档)

    本书主要内容包括:如何决定是否选择第三层交换技术、第三层交换网络设计技术、第三层交换案例分析等,并对目前流行的6种第三层交换产品给出了基准测试结果。最后,针对具体实施,为第三层交换的管理给出了一些推荐...

    2016年系统架构师考试科目二:案例分析1

    1、PHP 只能实现简单的分布式两层或三层的架构,而 JAVA 在这方面就比较强大,可 2、PHP 是面向过程的语言,Java 是面向对象的,面向过程语言开发的

    MATLAB智能算法30个案例分析——源代码.rar

    1.3.1工具箱结构 1.3.2 遗传算法常用函数 1.3.3遗传算法工具箱应用举例 1.4延伸阅读 参考文献 第2章基于遗传算法和非线性规划的函数寻优算法 2.1理论基础 2.1.1非线性规划 2.1.2 非线性规划函数 2.1.3...

    第三层交换

    第7章针对Strategic网络公司提供的案例研究给出了几个应用第三层交换产品的网络设计方案。该案例也许与您自己或您客户的环境并不相同,但您将发现第2章中列出的评估新技术适合程度的过程(见表2-1)可用于确定该...

    论文研究-基于案例推理的应急辅助决策方法研究.pdf

    在分析了应急案例特征的基础上设计了一种基于概念树—突发事件本体模型—事件元模型三层架构的应急案例通用的案例描述与组织方法;根据应急案例属性复杂及属性值缺失的问题设计了基于结构相似度和属性相似度双层结构...

    最新最全2005-2014信息系统项目管理师历年真题(含上午题、案例分析、论文)试题和答案

    案例分析主要考到了需求活动、质量管理、项目管理方面存在问题、挣值计算、收尾的知识(包括管理收尾和合同收尾的知识、项目验收、验收步骤等),这次案例又有一道关于挣值计算方面的题目,而且这次的挣值计算题目...

    北京中科信软VS.NET设计模式与软件架构设计培训1

    探讨了软件架构设计中的常见问题,如:技术可行性分析、三层体系结构的设计要点、测试、发布以及安全问题。第二天的课程包括: ·软件设计文档编写 ·立项阶段架构师的工作 ·使用MSF与MOF结合覆盖软件生命周期 ...

    SpringMVC(一)基础入门看这篇

    文章目录一、SpringMVC的基本概念1.1 关于三层架构和MVC1.2 SpringMVC概述1.2.1 SpringMVC是什么1.2.2 SpringMVC在三层架构的位置1.2.3 SpringMVC的优势1.2.4 SpringMVC 和 Struts2 的优略分析二、SpringMVC入门案例...

    项目实战精解 asp.net应用开发

    基于asp.net、C#和ado.net的三层架构案例分析

    [烟台]某海滨综合居住区规划设计文本

    深圳-知名地产东海岸2.2 华侨城波托菲诺2.3 典型案例分析结构第三部分: 地块场地分析3. 基地分析3.. 用地现状分析3..2 用地现状照片3.2 SWOT分析3.3 基地分析结论第四部分: 规划概念设计多方案比较4. 规划理念4.2...

    东华大学 组织行为学 期末大作业 答案

    案例分析题 案例一:王涛与他的新老板 王涛的新老板是从营销部门调来的,在经营方面经验欠缺。在部门会议上,当讨论到项目时间表和资金的问题时,王涛提出的建议总是得不到老板的采纳。不久,就形成了一个管理怪圈,...

    AscentWeb.rar

    项目实践精解 ASP.NET应用开发 --基于ASP.NET、C#和ADO.NET的三层架构案例分析 课程源码

    管理学原理 罗宾斯的课后习题答案和笔记

    第Ⅰ篇 绪论 第一章 管理与组织导论 ...注:并不是所有的组织都具有金字塔形的组织结构,但都需要某个人来扮演管理者的角色,即需要有人来协调工作和活动,以便能够同别人一起或者通过别人来实现组织的目标。

    C#基于MVC+EasyUI+ECharts后台管理系统完整源码(1.0.5)

    (权限设置只是为了练习easyUI tree的使用,具体项目具体分析) 4. 添加面板功能,优化代码等... (例子涉及两张表(用户表+权限表),datagrid分页有两种方式,请参考 UserInfoDAL.cs页面方法: getPage2005和getPage2012...

Global site tag (gtag.js) - Google Analytics