zoukankan      html  css  js  c++  java
  • 如鹏网.Net三层架构第一章三层基础

    三层架构:

     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

  • 相关阅读:
    Atitit.木马病毒websql的原理跟个设计
    Atitit.cateService分类管理新特性与设计文档说明v1
    Atitit.cateService分类管理新特性与设计文档说明v1
    Atitit.iso格式蓝光 BDMV 结构说明
    Atitit.iso格式蓝光 BDMV 结构说明
    Atitit.复合文档的格式 标准化格式
    Atitit.复合文档的格式 标准化格式
    Atitit.木马病毒强制强行关闭360 360tray.exe的方法
    Atitit.木马病毒强制强行关闭360 360tray.exe的方法
    Atitit.复合文档的格式 标准化格式
  • 原文地址:https://www.cnblogs.com/wjs5943283/p/5244545.html
Copyright © 2011-2022 走看看