如鹏网.Net三层架构第一章三层基础
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如鹏网.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
以上是关于如鹏网.Net三层架构第一章三层基础的主要内容,如果未能解决你的问题,请参考以下文章