代码改变世界

随笔分类 - 02 分析设计

【新年第一篇】平台的账号管理系统设计的设想

2014-02-13 15:44 by Virus-BeautyCode, 3985 阅读, 收藏, 编辑
摘要:今天说的是电商平台的账号管理系统设计,或者是支付平台账号管理系统设计,或者是充值平台账号管理系统设计。以前自己也设计过电商平台的账号管理系统,也涉及了充值这个功能,就是用户充值到平台,然后可以用充值的钱买平台的商品。那时候自己设计的简单,直接就是用户信息,然后充值信息。用户信息记录用户当前的余额,充值信息记录充值的历史记录。但是需求总是在变化的,因为要适应不同场合,系统要发展,而且要跟得上线下的发展,兼容线下的游戏规则。其实用户信息和账号信息就应该是分开的,一个用户可以有多个账号,比如说网站账号,手机客户端账号,充值账号,消费账号等等。有人会说,这么多账号,有什么用呢,信息都是一个样的,多余吧 阅读全文

在系统集成中面临多个产品的时候如何选择?

2013-09-26 09:24 by Virus-BeautyCode, 560 阅读, 收藏, 编辑
摘要:在系统集成中,经常会面临的问题是如何选择产品!就是在众多的产品中选择合适的产品出来进行系统集成。 选择的方式很多,今天我就说一种使用execel画矩阵图的方式。 从三个方面来比较多个产品。1、基本属性 比如说产品价格,产品使用的技术平台,公司位置(要便于沟通和后续的二次开发以及维护),产品所属公司在行业中的位置,有无二次开发接口,是否出售源代码,代码规范性,代码结构。3、我们所需的功能在各产品中的对比2、产品间的功能对比 平台后台比较 商户后台比较 前台比较 通过上面的几张表格,就可以看出来最终选定那个产品了。 还可以给每一项设置一个分数,满分10分,然后每一项打分,最后评比一下。 虽... 阅读全文

动态表单数据库设计

2013-09-26 09:23 by Virus-BeautyCode, 5730 阅读, 收藏, 编辑
摘要:存储结构去业务化参数key/value通常系统参数就是这样,很多配置项也是键值的。例如:分配比例,网站title,某某时间。码表分为两种:1、一种是没有层级的也就是用组就可以表达的。例如:性别,状态。2、一种是有层级的树形的。例如:地域,树形分类。树形有些是无限层级的,有些也就是几层。码表分组:性别组,状态组码表分组编号 名称001 性别002 状态码表值分组编号 码 值 排序001 001001 男 10001 001002 女 20002 002001 冻结 10002 002002 等待 20002 002003 进行 300... 阅读全文

图片存储那些事

2013-09-26 09:21 by Virus-BeautyCode, 1065 阅读, 收藏, 编辑
摘要:图片存储那些事1、二进制列很多关系数据库都支持二进制类型的列,可以把图片转换成二进制,然后存放起来。2、文件路径把图片的相对路径,一般是相对网站根目录的路径存在数据库中,把文件存在在本地文件系统。3、图片服务器单独的服务器用来存放图片,单独的域名空间,使用某些特殊的文件系统。图片有很多类型,小图片,大图片,有些图片是有关联系,通常一起使用,有的是产品图,有的是系统图片,有的是用户上传的,有的是平台管理的。针对不同类型的图片,需要不同的文件系统,有些文件因为显示的时候都是一起显示的,可能需要存放在一起,减少寻道时间,加快IO速度,提高读取效率。4、分布式,路径无关MongoDB GridFS00 阅读全文

动态可配置表单的设计构思

2013-09-26 09:20 by Virus-BeautyCode, 17286 阅读, 收藏, 编辑
摘要:1、引言 在浏览网站的时候,我们经常会提交一些信息,这些信息也被叫做“表单”,提交信息专业一点也叫做提交表单。 通常会提交的信息就是注册信息,登录信息,登陆之后还需要提交详细的个人信息,其中就会包括学历,地址,项目经验等等。 还有就是在电商网站,我们还会提交订单,添加收藏,添加购物车。 在网络中,我们每天都会遇到各种各样的表单,随着网络的普及,信息化的普及,很多信息都是通过网络提交的,我们会频繁的和表单打交道。那么什么是表单呢? 表单指的是用户在页面中填写的信息的总和,也是填写的信息项的总和。表单的主要作用是收集信息。 在百度百科中是这么解释的。表单在网页中主要负责数据采集功能。一个表单有三个 阅读全文

缓存使用的思考1

2012-12-22 15:38 by Virus-BeautyCode, 1009 阅读, 收藏, 编辑
摘要:常见缓存产品Replace your Memcached Tier with a Couchbase Cluster 有windows版本,也有linux版本。 安装couchbase cluster对CPU有要求,因为有几次安装提示我CPU不支持之类的信息。Windows AppFabric AppFabric是微软为windows server提供的一系列集成技术,方便构建、扩展和管理运行在IIS 上的应用。缓存是AppFabric提供的功能之一,而且支持分布式缓存。memcached http://memcached.org/ 老牌的分布式缓存。redis http://... 阅读全文

[翻译].NET框架中的缓存

2012-12-22 09:25 by Virus-BeautyCode, 4420 阅读, 收藏, 编辑
摘要:.NET框架中的缓存原文地址http://msdn.microsoft.com/en-us/library/dd997357.aspx缓存使得你可以快速的获取内存中存储的数据。当再次访问数据的时候,应用从缓存中获取数据,而不是从数据的原始源获取。这么做可以提高性能和扩展性。另外,当数据源临时不可用的时候,缓存使得数据还是可用的。你可以用.NET提供的缓存功能提高应用的性能和扩展性,缓存功能可以在windows客户端应用中使用,也可以在ASP.NET这种服务端应用中使用。Note在.NET Framework3.5和更早的版本中,ASP.NET提供了一个内存缓存的实现,放在System.Web. 阅读全文

消息提示的架构演进-理论篇

2011-10-12 11:57 by Virus-BeautyCode, 2834 阅读, 收藏, 编辑
摘要:项目是一个互联网应用。 假设项目有不同的用户群体,每个用户群体的前端都是一个独立的项目,交给不同的开发人员进行开发,前端和后端的交互方式选择WebService。 在前端和后端交互的过程中,主要有两类操作:一类是查询,包括返回单个记录和返回集合两种类型的查询;一类是命令,包括添加、删除、更新,当然,一次操作也可能是几个命令的组合请求。 第一类操作需要返回数据来显示,如果没有返回数据就会提示没有找到符合条件的数据。第二类操作,一般会影响后端的持久化数据,需要返回操作的结果,是成功还是失败,还是如何如何? 今天讨论的消息就是这种后端返回的操作结果,关于这种类型消息的设计,主要是这种消息... 阅读全文

架构演进-实例篇

2011-08-31 14:38 by Virus-BeautyCode, 6022 阅读, 收藏, 编辑
摘要:从上图可以看出,就是一个电子商务网站常见的支付、支付的后续处理,这样一个业务场景。支持多种支付方式,目前包括银联、支付宝,还有平台账户。平台账户就是注册用户将资金存储在平台为用户建立并维护的一个账户里,购买平台的产品,可以使用平台账户中的资金进行支付。 阅读全文

从Android中Activity之间的通信说开来

2011-08-02 11:22 by Virus-BeautyCode, 4105 阅读, 收藏, 编辑
摘要:引言最近两个星期在研究android的应用开发,学习了android应用开发的基础知识,基本控件,基本布局,基本动画效果,数据存储,http访问internet等等基础知识。android中有一个概念,叫做activity。什么叫做activity呢?中文译为【活动】。我觉得类比到我们.NET里面的话,就好比是WinForm中的Form窗体,或者是ASP.NET中的Page页面,一个activity可以对应一个窗体或者是页面。既然是窗体、页面就需要通信,需要传值,需要之间的变换。WinForm窗体变换和ASP.NET中的Page变换在WinForm中实现窗体变换,也就是一个窗体转到另外一个窗体 阅读全文

帮助中国移动设计10086的排队小模块

2011-04-19 14:26 by Virus-BeautyCode, 3561 阅读, 收藏, 编辑
摘要:1 引言今天发现了伍迷的《大话数据结构》系列,应该不错,从第一篇开始阅读。因为之前就阅读过他的《大话设计模式》,觉得通俗易懂,而且从浅入深,结合实际情况,是一本不可多得的好书。读到《《大话数据结构》第1章 数据结构绪论 1.2 你数据结构怎么学的?》这篇的时候,就出现了一个小的场景。他的学生小菜在工作中被分配了一个任务,完成一个客户排队模块的代码。小菜就建立一张表,保存每次的队列内容,客服空闲了,就拿出最早插入一条来给客服处理。结果被项目经理批了一顿,说他没有学过数据结构,用数据库干什么。小菜回去就改成了一个数组,不用数据库了,怕溢出就设置数组长度为100。小菜还是怕有问题,就请教了她的表哥大 阅读全文

我对DDD的认知(一)

2011-04-07 12:00 by Virus-BeautyCode, 5333 阅读, 收藏, 编辑
摘要:1 引言 DDD,全名:Domain Driven Design,中文名:领域驱动设计。 2 DDD的分层 分层的架构方式是我们常用的,这里的分层是说n-layer,指的是逻辑的分层,目的是分离职责。常用的是三层:表现层,业务逻辑层,数据访问层。 DDD把原来经典三层(表现层,业务逻辑层,数据访问层)中的业务逻辑层又细分为两层:应用层和领域层。应用层负责领域对象的协调和调度,领域层包含具体的领域对象,领域规则(也就是业务规则),更大限度的实现业务规则的重用和职责的分离。将数据访问层并入基础架构层。变成了四层: Presentation Application Domain Infrastruc 阅读全文

自定义ORM系列(三)工具雏形及基本用法

2010-12-21 19:10 by Virus-BeautyCode, 2027 阅读, 收藏, 编辑
摘要:引言  本篇给大家介绍我这个工具的雏形结构,以及基本的用法,还请大家多提意见。  初看起来,这个有点像NHibernate。说到这里,肯定有人要拍砖了。其实,我也知道。我这个不入流的东西,和NHibernate相比差远了。我开发这个东西的原因主要有两个:  1)NHibernate太复杂了,学习了两个星期,觉得它太强大了。但是强大是用复杂做代价的,里面要学习的东西太多了,不敢轻易引入项目,因为很多原理不清楚,报错也不明确,所以不敢轻易在项目中使用。  2)自己想练练手,顺便通过这个过程,也好深入继续深入学习一下NHibernate。因为在写这个工具的过程中,我会看NHibernate的源码,然 阅读全文

自定义ORM系列(二)发现属性是否修改,有选择的持久化

2010-12-20 18:35 by Virus-BeautyCode, 2061 阅读, 收藏, 编辑
摘要:引言  今天给大家介绍的是ORM中的有选择持久化技术。现在的很多ORM工具都支持有选择的持久化,就是对于属性有选择的持久化。也可以理解为只持久化那些有变化的属性,忽略没有变化的属性。    正文  很多时候我们想要知道实体的那些属性被更新,那些属性没有变化。  在很多的ORM工具中,在持久化数据的时候,可以判断哪些属性有值,哪些属性被更新过,这样的属性才会被持久化,没有动过的属性不会被持久化,而不是所有的属性都持久化。  发现属性有变化,有很多种办法。今天我给大家介绍一种,利用Inotifypropertychanged接口来实现属性变化的跟踪。一个类如果实现了这个接口,就可以跟踪属性的变化, 阅读全文

胡乱说一下我对于 BO VO PO DTO 的理解

2010-12-18 11:44 by Virus-BeautyCode, 6837 阅读, 收藏, 编辑
摘要:引言本文中将向大家介绍我对于是使用实体的一些体验,欢迎大家拍砖。更欢迎提出不同或者相同的意见。正文刚开始学会使用实体的时候就是建立一个Entity类库,然后里面的实体被其他各层引用。大家传递和使用的都是这一个类库中的实体,包括前端和后台的项目都是引用这个类库,传递和操作这个类库中的实体。就像上面的这幅图一样。每个都要添加对Entity的引用。每个项目都是这么做的,也没有发现什么不好的地方。以前都是做一些小项目,或者是自己Demo一下。上面的做法也没有什么问题,而且看到别人的文章也都是类似这样的结构。后来在学习DDD(Domain Driven Design)的时候,看到了很多的概念。有DTO, 阅读全文

需求分析<一>

2008-02-25 17:30 by Virus-BeautyCode, 307 阅读, 收藏, 编辑
摘要:发帖,回帖,注册,评论,看帖,看评论,登录浏览者,注册用户,注册用户要分等级,根据分数,发帖分数,回帖分数,置顶,加精,推荐,版主,管理员要有后台,要注意权限, 阅读全文

场馆和健身馆的区别

2008-01-25 15:44 by Virus-BeautyCode, 239 阅读, 收藏, 编辑
摘要:场馆的收费一般是现结,刷卡,健身馆靠的是会员费,主要是一次性缴纳的,场馆和健身馆的关注点是不一样的,前者关注人在时间顶到场地,场地的利用率,后者关注会员,会费,物流关注也不一样,前者观念弱,后者观念强,前者会员弱,后者会员强。前者是场地的利用率,最大化的利用场地,后者是会员,会费的收取,有多少会员,吸引别人成为会员,前者是吸引别人来玩,用场地。正交组合:人,时间,场地三者的正交组合 阅读全文

电子商务B2B调研报告

2008-01-22 14:17 by Virus-BeautyCode, 2413 阅读, 收藏, 编辑
摘要:TOC \o &quot;1-3&quot; \h \z \u 电子商务... PAGEREF _Toc188774495 \h 1 08D0C9EA79F9BACE118C8200AA004BA90B02000000080000000E0000005F0054006F0063003100380038003700370034003400390035000000 B2B的实现模式... PAGEREF ... 阅读全文

RFID票务系统调研报告

2008-01-21 08:38 by Virus-BeautyCode, 7449 阅读, 收藏, 编辑
摘要:1、国外的票务系统及国内外的RFID行业情况... 1 1.1 www.ticketmaster.com.. 1 1.2芬欧蓝泰标签,网址:http://www.upmraflatac.com/asia/chn/. 1 1.3芬兰Confidex,网址:http://www.confidex.fi/. 1 1.4 TELELOGOS. 1 1.5RFID行业概况... 1 2、国外票务系统的功能... 阅读全文

以人为中心还是以事为中心

2008-01-16 13:56 by Virus-BeautyCode, 338 阅读, 收藏, 编辑
摘要:在面向对中分析中,我们通常使用的需求分析方法是先找到参与者,然后找到参与者相关的用例。可是我在分析一些系统中发现,这么做是很难进行下去的。个人感觉还是要根据系统的类型区分开来,有的系统是OA,或者是ERP,或者财务软件,或者是企业的信息系统之类的系统的话上面的方法还可以使用。因为它们的参与者可以到岗位上面,是相对固定的。可是有一些其他的系统,是由一件事产生的,过了这件事之后就不用... 阅读全文