如鹏网.Net三层架构第一章三层基础
三层架构:
1.通常意义上的三层架构就是将整个业务应用划分为:表现层、业务逻辑层、数据访问层。区分层次的目的即为了“高内聚低耦合”的思想。
2.该课程中通过讲解餐饮管理系统来让大家理解三层之间的关系。
3.课程中会带着大家分析数据库如何设计、软件开发的几个阶段、MD5的使用、
NPOI组件如何读写Excel文件、单例模式创建窗体、三层如何搭建、三层之间的关系、手写三层等。
希望大家学会该项目后能理解三层的精髓。
-----------------------------------------------------------------------------------------------------------------------
主要内容:介绍三层项目,三层如何搭建,数据库的设计,复习ADO.NET封装SqlHelper
技术点:
1.分析需求,设计出合理的数据库(根据数据库的范式)
2.MD5算法对密码进行加密
3.使用NPOI操作Excel,导入导出
4.单例模式
项目:
1.手写三层,
2.商业级的代码生成器,
3.窗体间传值(属性或字段)
目标:
1.做一个项目,对之前学习的总结,并为asp.net打基础,熟练练习
2.各组之间相互协作完成团队的项目
3.精通三层的精髓和三层架构的原理
4.通过三层安全熟练的操作数据库中的数据
-----------------------------------------------------------------------------------------------------------------------
第 2 节: 02三层项目介绍
顾客开单
增加消费
上帝结账
会员管理
房间设置
商品管理
订餐管理
-----------------------------------------------------------------------------------------------------------------------
第 3 节: 03软件开发阶段和介绍三层
软件开发的阶段:
1.需求分析:
和客户聊天,解决问题,设计出逻辑模型,确定开发文档,和客户确定项目。
通过代码语言对客户的需求进行实现
2.功能设计:
功能进行模块化设计,包括数据库
3.软件编码:
功能的代码实现
4.软件测试:
功能完成后,让测试人员进行完全测试:包括代码,性能,异常等
5.软件维护:
后期处理,每年维护(加功能,升级等)
介绍三层:(是一种比较好的软件架构,不是必须要用)
界面层UI(User Interface)
业务逻辑层BLL(business logic layer):逻辑处理,判断合法性,合法数据给DAL
数据访问层DAL(Data Access layer):和数据库打交道,对数据进行操作的代码写在DAL层,一般为SQL语句,
DAL只有对数据的操作,SQL语句,ADO.Net的类一般只应该出现在DAL中。
实体(Model):处理三层之间的关系,
UI--BLL--DAL,Model
业务 逻辑 数据 实体
招聘人:服务员(漂亮,身材好,会说)吸引顾客 :UI
厨师 (技术强, BLL
采购员 (砍价,会说 DAL
菜(Model)
顾客 -> 服务员 (要求:番茄炒蛋) ->厨师(没有源材料)->采购员(采购原料)
UI BLL DAL 数据库
关系: 联系靠Model,全部引用Model,UI引用BLL,BLL引用DAL
-----------------------------------------------------------------------------------------------------------------------
第 4 节: 04搭建三层
其他项目类型,空白解决方案
Model,DAL,BLL 类库:RpCater.Model,RpCater.DAL,RpCater.BLL
UI : RpCater
引用:RpCater引用Model 和BLL
RpCater.BLL引用Mode和DAL
RpCater.DAL引用Model
app.config 添加到最终运行的项目(RpCater)
DAL操作数据库:
使用Mysql ,添加mysql.data 引用 和 system.configuration 引用
添加MysqlHelper : public class MySqlHelper
-----------------------------------------------------------------------------------------------------------------------
第 5 节: 05分析需求
数据库的三大范式:
每列中不能有冗余的信息(原子性,不能再分了)
每个表中都有主键
引用其他表的主键信息
需求分析:
选择位置 点菜 结账 桌子 包间 会员 等
餐桌---房间---会员---商品---商品类别---订餐
餐桌:ID,编号,状态,房间ID,位置描述,提交时间,提交人ID,删除标识,备注
T_Desks:Id,Num,State,RoomId,Region,SubTime,SubBy,DelFlag,Remark
房间:ID,编号,名字,类型,最低金额,最多容纳人数,提交时间,提交人ID,删除标识
T_Rooms:Id,Num,Name,RoomTypeId,MinMoney,MaxNum,SubTime,SubBy, DelFlag
房间类型:ID,Name
T_RoomTypes:
会员:ID,编号,名字,电话,地址,生日,有效期,提交时间,提交人ID,删除标识
商品: ID,编号,名字,拼音,价格,单位,成本价,库存,类别ID,提交时间,提交人ID,删除标识,备注
T_Products: Id,Num,Name,Spell,Price,Unit, Cost, Stock,CategoryId,SubTime,SubBy, DelFlag, Remark
商品类别:ID,名字,编号,提交时间,提交人ID,删除标识,备注
T_Categorys:Id,Name,Num,SubTime,SubBy,DelFlag,Remark
订餐:
用户表:ID,用户名,登录名,密码,最后登录时间,最后登录IP,提交时间,删除标识
T_Users:Id,Name,LoginName,Password,LastLoginTime,LastLoginIP,SubTime,IsDel
订单表:ID,编号,开始时间,结束时间,状态,会员ID,金额,提交时间,提交人ID,删除标识
中间表:餐桌和订单关系,ID,餐桌ID,订单ID
中间表:订单和商品关系,ID,商品ID,订单ID
-----------------------------------------------------------------------------------------------------------------------
第 6 节: 06封装SqlHelper类
思路:
开发步骤:登录,主界面,会员管理
模块:
核心业务:登录,顾客开单,增加消费,上帝结账
CRUD: 会员管理,房间设置,商品管理
mysql
素材
封装SqlHelper类
登录窗体
主窗体
会员模块
......
md5加密
excel
如鹏网:http://www.rupeng.com
转载于:https://www.cnblogs.com/wjs5943283/p/5244545.html
如鹏网.Net三层架构第一章三层基础相关推荐
- 高中计算机应用基础知识课件,计算机应用基础(windows 7+office 2010)课件 第一章 计算机基础知识.ppt.pdf-汇文网...
计算机应用基础(windows 7+office 2010)课件 第一章 计算机基础知识.ppt.pdf-汇文网 计算机应用基础 ( windows 7office 2010) 计算机基本知识 计算机 ...
- CS通用项目系统搭建——三层架构第一天
CS通用项目:使用三层架构进行搭建 三层架构: 表现层(UI(User Interface)):展示给用户的层面,包含窗体控件数据等信息. 业务逻辑层(BLL(Business Logic Layer ...
- ZeroMQ 中文指南 第一章 ZeroMQ基础【转载】
此文章转载自GitHub : https://github.com/anjuke/zguide-cn 作者信息如下. ZMQ 指南 作者: Pieter Hintjens ph@imatix.com, ...
- ZMQ 第一章 ZeroMQ基础
# ZMQ 第一章 ZeroMQ基础 首先得感谢原创作者的分享! **作者: Pieter Hintjens <ph@imatix.com>, CEO iMatix Corporation ...
- 《零成本实现Web自动化测试--基于Selenium》第一章 自动化测试基础
第一篇 Selenium 和WebDriver工具篇 第一章 自动化测试基础 1.1 初识自动化测试 自动化测试有两种常见方式 1.1.1 代码驱动测试,又叫测试驱动开发(TDD) 1.1.2 ...
- 卫春芳计算机基础视频,第一章 计算机基础知识.pptx
文档介绍: 大学计算机基础主讲:数计学院卫春芳所用教材:<大学计算机基础>科学出版社大学计算机基础高等教育出版社杨振山龚沛曾主编大学计算机基础(第4版)大学计算机基础实验教程(电子版)参考 ...
- 医学计算机基础ppt,医学计算机应用第一章计算机基础知识ppt课件.ppt
文档介绍: 作者姓名:王宏伟作者单位:大连医科大学第一章计算机基础知识任务1-1选购一台电脑任务1-2计算机中数据的表示与存储目录第一章计算机基础知识掌握计算机系统的基本组成;计算机各部分硬件的功能及 ...
- 第一章 Redis基础
第一章 Redis基础 课程计划 1. Redis 入 门 (了解) (操作) 2. 数据类型 (重点) (操作) (理解) 3. 常用指令 (操作) 4. Jedis (重点) (操作) 5. 持 ...
- 第一章 Redis基础(简介+下载和安装+基本操作)----黑马
第一章 Redis基础(简介+下载和安装+基本操作) ----黑马 文章目录 第一章 Redis基础(简介+下载和安装+基本操作) ----黑马 学习目标: 1. Redis 简介 1.1 NoSQL ...
最新文章
- 基于树莓派上的小电台
- 手机没电不用慌 荣耀门店推充电站服务为你解忧
- PTA 06-图2 Saving James Bond - Easy Version (25分)
- 全国计算机等级考试用报名吗,全国计算机等级考试网上报名流程及考生报名使用说明...
- java 判断范围_java判断一个点是否在一个围栏范围内
- python英文词频统计代码_python实现中文和英文的词频统计功能方法汇总
- java 泛化_Java语言class类用法及泛化(详解)
- PowerDesigner之PDM(物理概念模型)
- matlab dbns实现,matlab实现贝叶斯网络
- vs2010制作安装包-vs2010打包教程
- 自定义网站地址栏图标
- 乳清蛋白和支链氨基酸不得不说的关系
- depts: deep expansion learning for periodic time series forecasting
- ad怎么修改栅格_AD软件的3种栅格设置详解
- Laravel中使用webhook开发Telegram机器人自定义指令
- 钉钉群添加机器人推送消息
- 网络流的各种加边优化
- Emgu CV 第一个实例
- winrar6.0汉化中文版 v6.00烈火版
- 好莱坞美剧电影英雄主义价值观的问题
热门文章
- 中国电信定制的中兴 ZXV10 B760H 机顶盒root全程记录
- apple pay支持的银行有哪些?如何绑定银行卡?
- 自开发的一个日志模板
- 第二本书 unit7访问网络文件共享系统
- 基于鹰优化算法和粒子群优化算法结合焊接梁设计,拉伸/压缩,压力容器,悬臂梁设计的应用(Matlab代码实现)
- dl380服务器不识别固态硬盘,影驰群联PS3110主控固态硬盘不识别修复教程
- 【毕业设计】基于微信小程序的购物商城系统
- 分布式数据库HBase
- 基于WinForms(C#)的用户登录界面(VisualStudio2013)
- JDK7新特性_JDK7的六个新特性