看的是《head first 设计模式》之前看过一次,现在重温一次。
了解更彻底一些。
第一步:分析E-R图
分析:单独的一个表,中间表,有外键连入的。
1.单独一个表的:
brands,
protype_parent,
buyer,
seller,
goods,
pro_function
goods_function_title
第二步:动作
1. 购买者 :buyer - 注册 -登录 -更改信息 -购物 -管理收货地址 1
2. 商家:seller - 注册 -登录 -更改密码 -更改信息 -crud商品 管理订单(发货) 1
3.品牌:brand -crud 品牌 (管理员) 1
4.货品:goods -crud 货品 (管理员) 1
5. 商品父类:protype_parent -crud (管理员) 1
6. 货品功能名: goods_function_title -crud (管理员) 1
7. 商品功能 :pro_function -crud (管理员) 1
2. 中间表
1. product_middle: 商品与功能 多对多
2. goods_function_middle:货品与功能名字 多对多
3. pro_gfunc_middle:商品与货品功能 多对多
4. cart 与 product 应该有一个中间表(还未写入) 一个购物车,有多件商品,只有一个买家
5. product 与 order 应该有一个中间表(还未写入) 一个订单有多个具体商品,一个具体商品可以出现在多个订单上
3. 有外键连入的表
3.1. 一个外键引入
3.1.1 搜索表:search(未写入) 搜索过什么 (只有增加)1
3.1.2 收货地址表:consignee (增加,删,改) 1
3.1.3 子类表:protype_son (增加,删,改) 1
3.1.4 商品类别功能名:pro_function_title (增加,删,改) 1
第二步:动作
3.2.1 搜索
3.2.1.1 用户进行了搜索,搜索的记录->添加 1
3.2.1.2 后台进行搜索的计算,查询与计算
3.2.2 收货地址
3.2.2.1 用户管理了地址->增,删,改 1
3.2.3 子类表
3.2.3.1管理员管理子分类->增,删,改 1
3.2.4 商品类别功能名
3.2.4.1 管理员管理功能名->增,删,改 1
由上面总结 动作发起者:用户,管理员,后台
3.2 俩个外键引入
3.2.1 购物车:cart
3.2.2 订单:order
3.2.3 购物记录:items
第二步:动作
3.2.1 购物车
3.2.1.1 用户将商品 以购物车的载体进行管理->增,删,改 1
3.2.2 订单
3.2.2.1 用户将购物车的商品,选取了数量,结算,得到订单-> 增(用户),删,改(管理员) 1
3.2.3 购物记录
3.2.3.1 购物完成后,会将该订单,加载到购物记录下->增(后台),标志是:成功结算 1
3.2.4 发货
3.2.3.2 完成结算后的发货。1
3.3 多个外键引入
商品表:Product 已经是确定唯一的商品,仅仅只有“一”这个 (增,查) (改,删)
第二步:动作
3.3.1 商品
3.3.1.1 浏览商品,用户点击分层查询与直接点击查询 ->后台查询,用户查询(连接查询) 1
3.3.1.2 进入商品,显示该商品的货品性质 -> 对货品进行查询(连接查询) 1
3.3.1.3 购买商品,将商品点击加入购物车 1
3.3.1.4 商户crud商品。1
总结:动作发起者->用户, 被动发起者-> 后台,货品,购物车
以动作发起者的话-> 买家,卖家,管理员。
被动的->商品被查询,货品信息被得知,订单购物车被生成。
最终的模块总结:
可知道,动作发起者的动作越多,功能点越多,所以,用户要实现的最多(买家,卖家,管理者) 1
订单模块(购物车模块)
搜索模块()