AssionShop开源B2C电子商务系统-概述(转载)
今天是个特殊的日子,我在北京房租价格又上了一个新的台阶。在这个日子我准备开始建立一个开源项目,一个B2C行业的EC系统。
一、关于定位
我要做的不只是一个商城,应该说是一个能满足中小型企业建立电子商务的一套完善的系统。其中的一些模块包括(但不限于)如下:
1. 前台商城
1.1. 前台网站商品的展架模块,包括整个商品的推销策略,包括分类、检索、各类活动形式等。
1.2. 前台的购物流程,包括购物车、定单、支付等。共中的客户可能包括:一般零售客户、大客户、团购客户等。
1.3. 前台用户中心,包括个人信息及商业行为信息等的维护。
2. 后台ECERP系统
1.1. 对前台各展架信息等的维护模块,也就是网站管理模块。对应的操作角色:网站的运维人员
1.2. 商品管理模块,对商品的分类、商品等基元信息进行管理等。对应的操作角色:网站运维人员、采购人员等。
1.3. 活动管理模块,包括优惠券系统等。对应的操作角色为:网站运维人员
1.4. 采购模块,对商品的库存进行管理,一系统的缺断货控制等。对应操作的角色为:采购人员
1.4. 销售定单处理模块,对定单进行处理。对应的操作角色为:客户服务人员、财务人员、主管人员等概据不同角色进行处理。
1.4. 财务模块,财务人员进行销售的收款单处理,采购的付款单处理等。对应的操作角色为:财务人员
1.5. 售后模块,对售后进行管理,商品的退货换货等。对应的操作角色为:客服人员、售后工作人员、物流人员
1.6. 物流模块,对定单的出货、换货、退货等业务进行处理。对应的操作角色为:物流人员
1.7. 仓库管理模块,对仓库进行管理。对应的操作角色为系统管理人员
3. 其他
当然系统还需要权限的支撑。其他的还有很多东西通过增量的方式迭代出来吧。
二、关于开发模式
最好的开发模式就是无模式了,适合自己就好,不过也要有个基本的思路,本系统将采用2个DDD,第一个就是Domain driven design(领域区动设计),
第二个就是Domain driven development(领域区动开发),当然DDD只是个思想,我们不必拘泥于形,每个人都有每个人的想法,还是那句话:适合自
己就好。
这里说一下敏捷开发,我对这个概念理解不深。个人感觉真的没必要理解的“过于深”,个人感觉现在一般的小公司的开发模式“不正规,很敏捷”,由于
没有正规的开发方法论,一直是个迭代的过程。没有文档、口头交流、增量、迭代好像出现了不少这样的名词了。
三、关于架构
架构方面现在只是个初步想法,先贴出来大家参考下。

以上Solution图我一个一个的简要描述一下:
AssionShop.AdminWeb 这个是个WebForm项目,是我们前面提到的ECERP系统的UI层,做这样的信息系统WebForm还是有一定优势的,具体再定。
AssionShop.Caching 系统的缓存层,之所以把缓存独立出来,因为它在项目中的份量挺重要的,对对象的生命进行支持,可以抽象出支持多种缓存架构,
比如asp.net的进程缓存,基于key-value的分布式缓存产品等。
AssionShop.Common 系统的一些公共框架级模块,可能包括字符处理、AOP、IOC、ORM、Log等一系列支撑对象。
AssionShop.DBMap 数据库映射层,可以采用NHibernate框架来解决o-r的阴抗问题。为什么不直接在Repositories里?不为什么。
AssionShop.Domain 领域层,系统的核心业务逻辑对象,不依懒其它任务层,半充血模式。不自身完成持久化,持久化由仓储来负责。
AssionShop.Dto 数据传统对象,里面包括数据传统对象和相应的适配器,注:有可能DTO直接跨越UI和Repositories/DBMap 比如系统的报表等。
AssionShop.Repositories 仓储,负责Domain的工厂生产及生命周期控制,内部调用缓存和数据库完成领域对象的持久化。
AssionServices 这个Services应该是ApplicationService而非DomainService,它调用Domain与Repositories进行轻量的组装,为UI或是SOA提供API,
我把事务控制放在这层,采用MSDTC分布式事务,Services为事务边界我认为是比较合理的。
AssionShop.Web 前台商城WEB项目,初步计划采用asp.net mvc 这层同AdminWeb一样,调用Services以及对DTO对象的引用。
以上就是项目的初步设想与规划定位,有很多不足将通过一步步的深入进行处理。下一章将从需求的《用例模型》开始。
AssionShop开源B2C电子商务系统-概述(转载)的更多相关文章
- AssionShop开源B2C电子商务系统-(二)定单流程活动图状态图(转载)
B2C系统的灵魂所在就是定单的流程了,下面展示下定单的最重要的两个动态图,一个是定单流程活动图.还有一个是简单的定单状态图.通过这两张图,基本可以 了解系统定单流的大概情况了啊.图画的只是初步的设想, ...
- AssionShop开源B2C电子商务系统-(一)用例图(转载)
这篇文章,将有实质的进展.先把大体的需求整理了一份用例图,自认为粒度做的已经很细了,再细就没法搞了.我还是坚信一个原则:自己业余搞的东西千万不要 想一口吃个胖子,这样很容易项目就搞流产了~,废话不多说 ...
- 转:国内外著名开源b2c电子商务系统比较包括asp.net和php
from: http://longdick.iteye.com/blog/1122879 国内外著名开源b2c电子商务系统比较包括asp.net和php 博客分类: 电子商务 国内外著名开源b2c ...
- B2C电子商务系统研发——商品SKU分析和设计(一)
一.SKU及相关概念定义 在设计商品SKU之前,首先让我们熟悉一下SKU和相关的一些概念. # 什么是SKU: SKU=Stock Keeping Unit(库存量单位) 同一型号的商品,或者说是同一 ...
- B2C电子商务系统研发——商品SKU分析和设计(二)
转:http://www.cnblogs.com/winstonyan/archive/2012/01/07/2315886.html 上文谈到5种商品SKU设计模式,本文将做些细化说明. 笔者研究过 ...
- B2C电子商务系统研发——产品媒体常见功能点
产品媒体常见功能点 电商研发系列——产品媒体常见功能点 支持图片.视频和文档等媒体类型 产品图片对清晰度要求比极高,但又不能太大,所以图片一般是jpg格式. 视频一般是flv流媒体格式,如果是嵌入产品 ...
- 30个开源电子商务系统(PHP)
osCommerce osCommerce是一款著名的PHP开源电子商务解决方案,提出“开箱即用”的强大功能,使网上商店安装非常方便快捷,并可以作为GNU通用公共授权的开源项目免费发布.osComme ...
- 开源的.NET系统推荐
C# 源码 AForge.NET RPC(Remote Procedure Call Protocol)远程过程调用协议,它是一种通过网络从远程计算机程序上请求服务,而不需要了解底层网络技术的 ...
- 【转】B2C电子商务系统设计精选
B2C电子商务系统研发——促销引擎设计(一)(Promotion Engine) B2C电子商务系统研发——商品SKU分析和设计(一) B2C电子商务系统研发——商品SKU分析和设计(二) 电商后台系 ...
随机推荐
- css排版之-标准文档流
标准流指的是在不使用其他的与排列和定位相关的特殊CSS规则时,各种元素的排列规则.HTML文档中的元素可以分为两大类:行内元素和块级元素. 1.行内元素不占据单独的空间,依附于块级元素,行 ...
- HDU 3473 Minimum Sum(划分树)
Minimum Sum Time Limit: 16000/8000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Tota ...
- redis节点管理-新增主节点
原文:http://blog.sina.com.cn/s/blog_53b45c4d0102wg11.html 集群节点添加 节点新增包括新增主节点.从节点两种情况.以下分别做一下测试: 1.新增主节 ...
- VMware8安装MacOS 10.8
前一篇博客,介绍了如何利用VMware安装MacOS系统,虽然可以安装成功,但也有不友好的地方,如: 1)MacOS系统文件需要是ISO格式,不是原生的dmg格式: 2)每次开机都需要借助HJMac工 ...
- OCP升级(3.7 ->3.9)
坑多,搞了好多次. 1./etc/ansible/hosts [OSEv3:children] masters nodes etcd nfs [OSEv3:vars] ansible_ssh_user ...
- Cisco路由技术基础知识详解
第一部分 请写出568A的线序(接触网络第一天就应该会的,只要你掐过,想都能想出来) .网卡MAC地址长度是( )个二进制位(16进制与2进制的换算关系,只是换种方式问,不用你拿笔去算) A.12 ...
- libev客户端
#include <ev.h> #include <stdio.h> #include <netinet/in.h> #include <stdlib.h&g ...
- HQL语句中数据类型转换,及hibernate中createQuery执行hql报错
一.HQL语句中数据类型转换: 我们需要从数据库中取出序号最大的记录,想到的方法就是使用order by子句进行排序(desc倒序),然后取出第一个对象,可是当初设计数据库时(我们是在原来的数据库的基 ...
- solr 自聚类实现
参考官网:https://lucene.apache.org/solr/guide/6_6/result-clustering.html 最近用到solr自聚类的,先简单介绍如下: 1.配置文件 主要 ...
- (转)一个基于vue2的天气js应用
基于vue.js 2.0的百度天气应用 vue-weather 基于vue.js 2.0的百度天气应用. 说明 初学vue,在看完一个简单的视频教程和走两遍完官方文档之后仍然感觉云里雾里,知其然不知其 ...