文章目录
1. PetShop
1.1 概述
- 概念
- 微软用来展示.Net企业系统开发能力的一个范例项目
- 基于ASP.NET 开发
- 是一个B/S系统
1.2 PetShop的发展
1.2.1 PetShop 2.0
- 没有采用标准的三层式结构
- 特点:没有数据访问层设计
- 优势:提高了数据访问(随着硬件系统性能的提高,该优势消失)
- 缺陷:业务逻辑层与数据访问职责混乱,一旦所支持数据库发生变化,或者需要修改数据访问的逻辑,则会导致项目做大的修改。
1.2.2 PetShop 3.0
- 特点:
- 纠正了层次不明的问题,将数据访问层独立出来。
1.2.3 PetShop 4.0
- 特点:
- 在3.0的基础上,引入了缓存和异步处理机制
- 充分利用了ASP.Net 2.0的新功能 MemberShip
ASP.NET 2.0中的新功能Membership主要用于管理网站的用户身份验证和权限
1.3 数据访问层结构
3.0和4.0的数据访问层核心一致
- IDAL
- 概念:
- Interface Data Access Layer
- 抽象出数据访问逻辑
- 实现:
- SQL Server DAL :访问Sql Server 数据库
- Oracle DAL
- 意义:
- 完全采用了“面向接口编程”思想
- 抽象出来的IDAL模块脱离了与具体数据库的依赖,有利于数据库迁移
- 和业务层解耦
- 概念:
- DAL Factory:
- 概念:数据访问层的对象的工厂模块
- 作用:管理 DAL对象的创建,业务逻辑层访问
- Model 模块:包含了数据实体对象
1.4 业务逻辑层结构
教材原文都是层结构的老生常谈,这里不再赘述
- 异步处理机制:插入订单的策略可以分为同步和异步
- IBLL Strategy模块
- 概念:
- IBLL:Interface Business Logic Layer
- “业务逻辑接口策略”模块
- 解决的问题:插入订单接口是相同的,但是插入订单确有异步同步两种策略。
- 概念:
- BLL模块
- 所有的业务逻辑都放在里边
- 具体实现和抽象没有严格分开,导致表示层和业务逻辑层的耦合度较高
2. 基于物联网架构的电子小票服务系统
2.1 电子小票物联网架构
符合3层物联网体系架构模型
2.2.1 感知层
小票智能硬件能够取代传统的小票打印机,在不改变商家原有收银系统的前提下,采集收银机待打印的购物小票信息,通过WiFi/GPRS传输将其存储到电子小票云平台。
2.2.2 网络层
- 作用:
- 支持感知层电子小票信息的传输、处理、存储
- 为顾客和线下商家的应用提供服务支撑
- 具体功能:
- 数据传输与处理
- 数据存储
- 智能硬件设备管理、商家管理、会员管理和商品管理等
2.2.3 应用层
- 作用:是电子小票服务系统与顾客、商家的接口
- 具体功能:
-
云平台小票服务:
基于微信公众平台向顾客提供电子小票实时推送、历史小票查询和会员积分查询等服务
-
云平台数据服务:
向线下零售商家提供可视化经营数据管理、用户精准推荐和区域畅销品排名等服务
-
2.2 电子小票服务系统架构
2.2.1 构成:
- 小票智能硬件
-
STM32 控制器
-
TFTLCD屏
薄膜晶体管液晶显示屏 (Thin Film Transistor Liquid Crystal Display)
-
字模存储Flash
-
无线模块
-
- 商家收银机
- 电子小票云平台
- 微信公众平台
- 消费者智能手机
- 商家P C终端
2.2.2 过程
- 商家收银机安装小票智能硬件的驱动程序,将其当做一台打印机
- 小票智能硬件接收待打印的购物小票数据和打印命令
- 经过数据完整性判断后通过串行外设接口总线,读取数据的字模信息
串行外设接口(SPI):Serial Peripheral Interface
- 用通用输入/输出接口 将数据在 TFTLCD屏中显示
通用输入/输出(GPIO):General Purpose Input /Output
- 同时将购物小票数据通过无线模块 (Wi-Fi或GPRS) 上传至电子小票云平台
- 通过微信公众平台将电子小票实时推送到消费者微信应用中