"开门待客"还是“送货上门”?
系列文章索引:
[WCF邮件通信系统应用 之 数据同步程序 之 设计内幕 之 一]
同步一个数据库要发多少个数据包?
[WCF邮件通信系统应用 之 数据同步程序 之 设计内幕 之 二]
"开门待客"还是“送货上门”?
[WCF邮件通信系统应用 之 数据同步程序 之 设计内幕 之 三]
“设计应对变化”--实例讲解一个数据同步系统
[WCF邮件通信系统应用 之 数据同步程序 之 设计内幕 之 四]
唯一不变的就是一直在变”--“数据”的华丽“变身术”
客户需要一个产品,是让客户上门取好呢还是主动送货上门好呢? 我们来看看如果自己当老板,会怎么做。 假设我们需要把自己的产品销售给同一城市的客户: 1,在开店初期,由于资金太少,租不起门面,也请不起店员,最好的方式就是自己去做广告,给客户打电话,然后送货上门。 2,不能够一直这样在家里面“卖东西”了,工商注册通不过的,要让客户更信任自己,还是得租一个门面,但自己目前资金还是太少,只能租一个小门面了,而且“老板”、“员工”一起当,还得送货上门; 3,经过一段时间的辛苦经营,有点资金了,想扩大生意,这个时候我们面临两种选择: a,多请几个送货员,继续沿用“送货上门“的经营模式; b,扩大门面,增加存货,大打广告,让客户到我的商店来主动购买,这样我可以少请几个送货员,还可以节省一点市内交通费; 注:也许还有C,发展代理商,但这个目前还不现实,自己没有这个能力。 一般情况下,”扩大店面“是我们最通常的想法也是最常见的做法,我们不断的扩大店面,甚至开连锁店,加盟店,这种“开门待客”成功的模式太多了,不用举例大家也知道;“送货上门”似乎不是很多,但也有一些典型的例子:丽华快餐,京东商城,凡客成品,这些提供“送货上门”服务的商家也是各自行业的典范。 看来“开门待客”和“送货上门”这两种经营模式都是可行的,都是能够让我们的事业做大做强的,但我们目前还得要根据自己的情况做一个决策,采用哪种经营模式? 我们发现,以“开门待客”模式提供商品的厂商主要都在餐饮,百货等行业,特点是提供的商品数量和种类非常多;以“送货上门”模式提供商品的厂商它们都只在自己的行业提供专业的产品,比如丽华只做快餐,京东只卖跟电子电器相关的东西,凡客只卖服装。用一句话来总结,“开门待客”模式在于提供产品的“广度”,而“送货上门”在与提供产品的“深度”! 好了,说了这么多,言归正传,我们还是说说我们的“数据同步”程序应该采用那种模式。 大家天天看网页,技术业内人士都知道,Web服务器是“请求--响应”模式,其实就是我前面说的“开门待客”模式,这种模式有一种很大的优势,能够提供很高的“并发”访问量,但缺点是Web服务器与浏览器之间是断开连接的,服务器无法知道客户端的状态,服务器和客户端的“会话”并不是真正意义上的会话,都是采用一些技术性手段“模拟”的。另外大家常说的Web服务也是这种模式。 所以,我们搞Web的人,准备去做“数据同步”最自然的想法就是Web服务,就是客户端主动去请求服务器,更新自己需要的数据。这个过程比较简单,所以大家都很喜欢。自己在家当老板自然很舒服了,客户那里有问题是次要考虑的事情。 现在,我们提倡“以客户为中心”,“主动为客户服务”的精神,为了扩大我们的市场,我们不能在家里面舒服的当老板,我们需要随时了解客户那里发生了什么,客户需要什么,所以我们需要为客户”上门服务“。 “数据同步程序”的设计采用了这一理念,颠覆了原来的客户端“主动请求”模式,使用了服务端“主动发送”模式,服务端将客户端需要的数据,在设定的时间,主动发送到客户端所在的电子邮箱,然后由客户端接收处理。为了确保“服务质量”,还要求客户“填写反馈单”,这样我们的服务端对于数据的发送情况了如指掌,客户需要什么数据,数据有没有发送成功,数据是否正确导入了,客户那里有什么样的数据,我们什么时候给客户发送数据,这些问题都是我们能够掌控的,我们能够根据发生的问题寻找更好的解决方案,能够持续的为客户提供更好的服务。 曾经,数据是“主动请求”还是“主动发送”的问题是设计上争论的焦点,我们的目前的产品(数据)需要关注它的深度,而不是广度,”送货上门“是自然之选,现在大家还有疑问吗?
- HDU 1495 非常可乐(数论,BFS)
- Selenium2+python自动化74-jquery定位
- 用php实现简单的自制计算器
- Selenium2+python自动化75-Chrome配置加载
- Selenium2+python自动化75-非input文件上传(SendKeys)
- python接口自动化11-post传data参数案例
- POJ 1321 棋盘问题(DFS板子题,简单搜索练习)
- python接口自动化12-案例分析(csrfToken)
- Python基础学习笔记
- POJ 3278 Catch That Cow(BFS,板子题)
- 【请您听我说】PHP语法特点的一些看法
- 喵哈哈村的魔法考试 Round #1 (Div.2) 题解&源码(A.水+暴力,B.dp+栈)
- 查找第k小的元素(O(n)递归解法)
- C/C++对bool operator < (const p &a)const的认识,运算符重载详解(杂谈)
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- Java 13 新特性
- 杭电 1789(贪心思维练习)
- 利用反转函数确定回文串
- Codeforces Round #618 (Div. 2)
- Educational Codeforces Round 82 (Rated for Div. 2)
- [C# 开发技巧]如何防止程序多次运行
- 问题 1117: K-进制数
- Java 11 新垃圾回收器 ZGC
- Red and Black(DFS 深搜练习)
- Codeforces Round #619 (Div. 2)
- 问题 1255: [蓝桥杯][算法提高]能量项链
- C# 开发技巧]如何防止程序多次运行 线程 进程
- 问题 1433: [蓝桥杯][2013年第四届真题]危险系数
- C# dev GridControl绑定数据不能显示
- Codeforces Round #621 (Div. 1 + Div. 2)(无比自闭的一夜)