zoukankan      html  css  js  c++  java
  • 项目开发步骤

    整理资料的时候,看到自己一年前写的文字,顺便放上来了。

    项目开发步骤

    设计数据库

    数据库脚本

    --建立数据库

    create database OnlineShop

    use OnlineShop

    --建立分类表

    create table Category

    (

        CategoryId int identity(1,1) primary key,--主键,自增

        [Name] nvarchar(50) not null

    )

    --建立商品表

    create table Product

    (

        ProductID int identity(1,1) primary key,--主键,自增

        CategoryId int FOREIGN KEY REFERENCES Category(CategoryID),--外键约束

        ProductName text not null,

        [Description] text not null,

        CreateTime datetime not null,

        UpdateTime datetime not null

    )

    --建立评论表

    create table Comment

    (

        CommentID int identity(1,1) primary key,--主键,自增

        ProductID int FOREIGN KEY REFERENCES Product(ProductID),--外键约束

        UserID int FOREIGN KEY REFERENCES [User](UserID),--外键约束

        [Content] text not null,

        CreateTime datetime not null,

        UserIP varchar(15) not null    

    )

    1. 数据库设计好以后就开始生成实体类

      Model层可以用手写,如果实体类太多的话会写的很累;

      所以可以用CodeMatic东软代码生成器或者CodeSmith等工具进行自动生成。

    2. DAL层

      一般数据访问方式可以通过2中方式:ADO.NET或者Entity Framwork , NHinbenate等ORM工具。

      通过还可以借助代码生成工具生成一般的,通用的数据访问方法:

      1. CRUD:AddXXX(), GetXXX(), UpdateXXX(), Delete()
      2. GetList: select * from table
      3. 分页:GetPageList(int pageIndex, int pageCount, out int totalCount)
      4. 如果有外键的话,生成一个根据外键查询的方法:GetXXXByFKID(int fkID)
        生成一个根据外键查询List的方法:GetXXXByFKID(int fkID)
        生成一个根据外键查询分页的方法:GetPageListByFKID(int fkID, int pageIndex, int pageCount, out int totalCount)

      生成方法:利用CodeSmith模板或者CodeMatic,或者是自己另写一套满足自己项目需求的方案,有时候,重复造轮子是很有必要的

    3. Common/Utility层

      各种工具类,通用方法等。需要靠日常积累。

    4. BLL层

      业务逻辑层,视具体需求而具体实现,是一个项目的核心。

    5. Web UI层

      前端信息展示页面,在技术上应注意:

      1. 在Asp.Net WebForm项目中,尽可能少的用服务器控件,如果非用不可的话,也要少用GridView等一些大块头,生成VIEWSTATE实在让人不舒服。
      2. 尽量多用异步提交方式,如 Html + ashx, jQuery + aspx或者jQuery + MVC等。
      3. 还可以用MVC做前台,用Asp.Net + Ajax做后台
  • 相关阅读:
    SpringBoot实现原理
    常见Http状态码大全
    forward(转发)和redirect(重定向)有什么区别
    1094. Car Pooling (M)
    0980. Unique Paths III (H)
    1291. Sequential Digits (M)
    0121. Best Time to Buy and Sell Stock (E)
    1041. Robot Bounded In Circle (M)
    0421. Maximum XOR of Two Numbers in an Array (M)
    0216. Combination Sum III (M)
  • 原文地址:https://www.cnblogs.com/fanyong/p/3442360.html
Copyright © 2011-2022 走看看