三层架构:

1.通常意义上的三层架构就是将整个业务应用划分为:表现层、业务逻辑层、数据访问层。区分层次的目的即为了“高内聚低耦合”的思想。

2.该课程中通过讲解餐饮管理系统来让大家理解三层之间的关系。

3.课程中会带着大家分析数据库如何设计、软件开发的几个阶段、MD5的使用、

NPOI组件如何读写Excel文件、单例模式创建窗体、三层如何搭建、三层之间的关系、手写三层等。

希望大家学会该项目后能理解三层的精髓。

-----------------------------------------------------------------------------------------------------------------------

第 1 节  01三层项目的介绍

  主要内容:介绍三层项目,三层如何搭建,数据库的设计,复习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三层架构第一章三层基础相关推荐

  1. 高中计算机应用基础知识课件,计算机应用基础(windows 7+office 2010)课件 第一章 计算机基础知识.ppt.pdf-汇文网...

    计算机应用基础(windows 7+office 2010)课件 第一章 计算机基础知识.ppt.pdf-汇文网 计算机应用基础 ( windows 7office 2010) 计算机基本知识 计算机 ...

  2. CS通用项目系统搭建——三层架构第一天

    CS通用项目:使用三层架构进行搭建 三层架构: 表现层(UI(User Interface)):展示给用户的层面,包含窗体控件数据等信息. 业务逻辑层(BLL(Business Logic Layer ...

  3. ZeroMQ 中文指南 第一章 ZeroMQ基础【转载】

    此文章转载自GitHub : https://github.com/anjuke/zguide-cn 作者信息如下. ZMQ 指南 作者: Pieter Hintjens ph@imatix.com, ...

  4. ZMQ 第一章 ZeroMQ基础

    # ZMQ 第一章 ZeroMQ基础 首先得感谢原创作者的分享! **作者: Pieter Hintjens <ph@imatix.com>, CEO iMatix Corporation ...

  5. 《零成本实现Web自动化测试--基于Selenium》第一章 自动化测试基础

    第一篇 Selenium 和WebDriver工具篇 第一章 自动化测试基础 1.1    初识自动化测试 自动化测试有两种常见方式 1.1.1 代码驱动测试,又叫测试驱动开发(TDD) 1.1.2 ...

  6. 卫春芳计算机基础视频,第一章 计算机基础知识.pptx

    文档介绍: 大学计算机基础主讲:数计学院卫春芳所用教材:<大学计算机基础>科学出版社大学计算机基础高等教育出版社杨振山龚沛曾主编大学计算机基础(第4版)大学计算机基础实验教程(电子版)参考 ...

  7. 医学计算机基础ppt,医学计算机应用第一章计算机基础知识ppt课件.ppt

    文档介绍: 作者姓名:王宏伟作者单位:大连医科大学第一章计算机基础知识任务1-1选购一台电脑任务1-2计算机中数据的表示与存储目录第一章计算机基础知识掌握计算机系统的基本组成;计算机各部分硬件的功能及 ...

  8. 第一章 Redis基础

    第一章 Redis基础 课程计划 1. Redis 入 门 (了解) (操作) 2. 数据类型 (重点) (操作) (理解) 3. 常用指令 (操作) 4. Jedis (重点) (操作) 5. 持 ...

  9. 第一章 Redis基础(简介+下载和安装+基本操作)----黑马

    第一章 Redis基础(简介+下载和安装+基本操作) ----黑马 文章目录 第一章 Redis基础(简介+下载和安装+基本操作) ----黑马 学习目标: 1. Redis 简介 1.1 NoSQL ...

最新文章

  1. 基于树莓派上的小电台
  2. 手机没电不用慌 荣耀门店推充电站服务为你解忧
  3. PTA 06-图2 Saving James Bond - Easy Version (25分)
  4. 全国计算机等级考试用报名吗,全国计算机等级考试网上报名流程及考生报名使用说明...
  5. java 判断范围_java判断一个点是否在一个围栏范围内
  6. python英文词频统计代码_python实现中文和英文的词频统计功能方法汇总
  7. java 泛化_Java语言class类用法及泛化(详解)
  8. PowerDesigner之PDM(物理概念模型)
  9. matlab dbns实现,matlab实现贝叶斯网络
  10. vs2010制作安装包-vs2010打包教程
  11. 自定义网站地址栏图标
  12. 乳清蛋白和支链氨基酸不得不说的关系
  13. depts: deep expansion learning for periodic time series forecasting
  14. ad怎么修改栅格_AD软件的3种栅格设置详解
  15. Laravel中使用webhook开发Telegram机器人自定义指令
  16. 钉钉群添加机器人推送消息
  17. 网络流的各种加边优化
  18. Emgu CV 第一个实例
  19. winrar6.0汉化中文版 v6.00烈火版
  20. 好莱坞美剧电影英雄主义价值观的问题

热门文章

  1. 中国电信定制的中兴 ZXV10 B760H 机顶盒root全程记录
  2. apple pay支持的银行有哪些?如何绑定银行卡?
  3. 自开发的一个日志模板
  4. 第二本书 unit7访问网络文件共享系统
  5. 基于鹰优化算法和粒子群优化算法结合焊接梁设计,拉伸/压缩,压力容器,悬臂梁设计的应用(Matlab代码实现)
  6. dl380服务器不识别固态硬盘,影驰群联PS3110主控固态硬盘不识别修复教程
  7. 【毕业设计】基于微信小程序的购物商城系统
  8. 分布式数据库HBase
  9. 基于WinForms(C#)的用户登录界面(VisualStudio2013)
  10. JDK7新特性_JDK7的六个新特性