店铺管理系统开发实践-业务逻辑与系统结构
2012-08-26 21:13
330 查看
1. 业务逻辑与系统结构
1.1. 业务逻辑
Store系统的业务逻辑主要包括如下几条:基于多店铺使用。
库存=采购入库-采购退货-销售零售+销售退货
毛利润=(零售价格-采购进价)*零售数量
篇幅有限,我在这里只是简单的列举了便利店管理中的常见业务逻辑,复杂的更细不在这里一一展开了。
1.2. 系统结构
本案例Store系统采用领域驱动设计,共分为四层:表示层、应用服务层、领域层和基础结构层。表示层由 Windows窗体和代码隐藏文件组成。Windows窗体只是提供用户操作及界面排版,而代码隐藏文件实现各种控件的事件处理。
应用服务层则是一个WCF Service,主要为了对外提供API以便外部系统可以通过提供的API与本系统进行交互及扩展。
领域层主要是对业务领域的实体属性进行定义;
基础结构层则为整个应用提供了Repository、ORM等的具体实现。
整个系统架构基本上可以以下图描述:
需要说明的是,在上图中的表示层(WinApp)依赖于仓储(Repository)的接口和领域层(Domain Model)。仓储(Repository)依赖于仓储(Domain Model)及仓储(Repository)的接口。Store系统采用依赖注入,将仓储(Repository)注射到表示层(WinApp)中,所以表示层(WinApp)根本不依赖于仓储的具体实现方式。
Visual Studio 2008解决方案结构
Store系统在Microsoft Visual Studio 2008的解决方案下包含六个项目:CnToSoft.WinApp.Store、CnToSoft.Domain.Store、CnToSoft.Services.Store、CnToSoft.Repositories.Store、CnToSoft.Repositories.Store.Test及CnToSoft.Library。如下所示:
CnToSoft.WinApp.Store:提供用户界面与交互接口
CnToSoft.Domain.Store:领域模型项目,其中包括了Store系统的领域模型与部分业务逻辑,也是本案例的核心所在。
CnToSoft.Services.Store:暂时空着。
CnToSoft.Repositories.Store:仓储的具体实现项目。本项目仅包含了针对Nhibernat的仓储实现。
相关文章推荐
- 用c#开发微信 (7) 微渠道 - 推广渠道管理系统 2 业务逻辑实现
- 通用权限管理系统数据字典 V3.9 版本,欢迎开发个各种业务系统的朋友们,参考表结构
- 店铺管理系统开发实践-序
- 店铺管理系统开发实践-关键技术方案选择
- 店铺管理系统开发实践-目录
- 店铺管理系统开发实践-领域模型
- ASP.NET MVC5 网站开发实践(一) - 框架(续) 模型、数据存储、业务逻辑
- 业务系统(“增量迭代”)开发流程管理
- 房地产业务学习(06)-开发项目管理的难点分析&IT系统价值
- 通用权限管理系统多语言开发接口 - java,php 调用接口程序,多业务子系统集成
- IT整体外包后业务系统从开发项目转入维护项目的过程管理
- 通达OA二次开发 小飞鱼工作流业务流程分级管理系统(图文)
- 基于QT的webkit与ExtJs开发CB/S结构的企业应用管理系统
- 房地产业务学习(06)-开发项目管理的难点分析&IT系统价值 推荐
- 项目(1)----用户信息管理系统(3)---项目开发(业务处理层)
- 银行核心业务系统开发项目管理之道-金融项目我们应该关注那些东西
- 智能点餐系统开发纪实2-----系统总体结构和业务流程
- 交通灯管理系统——业务逻辑题
- 用四层结构方法开发信息管理系统
- 信息管理系统开发平台之业务定制平台介绍(一)