September 8, 2009
模块化概念
模块化就是为了减少循环依赖,减少耦合,提高设计的效率。为了做到这一点,我们需要有一个设计规则,所有的模块都在这个规则下进行设计。良好的设计规则,会把耦合密集的设计参数进行归类作为一个模块,并以此划分工作任务。而模块之间彼此通过一个固定的接口(所谓的可见参数)进行交互,除此之外的内部实现(所谓的隐参数)则由模块的开发团队进行自由发挥。
程序模块化的目的:
- 减少循环依赖
- 减少耦合
- 提高设计效率
程序模块化的实施:
- 把耦合密集的归为一个模块
- 模块间通过固定的接口交互
- 模块内部实现自由发挥
《宜家》
IKEA的研发体制也非常独特,能够把低成本与高效率结为一体。IKEA发明了“模块”式家具设计方法(宜家的家具都是拆分的组装货,产品分成不同模块,分块设计。不同的模块可根据成本在不同地区生产;同时,有些模块在不同家具间也可通用)。这样不仅设计的成本得以降低(因为基本每一种设计都是可制造的,不会因为大量的设计方案不具备可实施性而去莫明地浪费成本),而且产品的成本也能得到降低(模块化意味着可以大规模生产和大规模物流)。
IKEA的设计理念是“同样价格的产品谁的设计成本更低”,因而设计师在设计中竞争焦点常常集中在是否少用一个螺钉或能否更经济地利用一根铁棍上,这样不仅能有降低成本的好处,而且往往会产生杰出的创意。
可能IKEA是唯一能深刻理解“简单即美”的机构,他用“简单”来降低顾客让度成本,用“美”来提高顾客让度价值。
IKEA模块化目的:
- 设计成本降低,都可实现
- 产品成本降低,大规模物流和大规模生产
IKEA模块化实施:
- 产品分成不同的模块,分块设计
- 有的模块在不同的家具间可以通用
可以看出,两种模块化的实施都是类似的,耦合密集的区块分为一个模块,独立自由设计,提供开放接口。可以产生低成本,大规模生产和开发的效果。
互联网研发
互联网研发的流程,概念、需求产生,设计[产品设计,交互设计,UI设计],开发[前端开发,后端开发],测试,发布,然后第二版本 新的概念、需求产生,再执行一次研发流程。在这个环节中,概念的产生总是非常容易,研发的周期总是非常漫长,市场总是稍纵即逝。所以版本迭代的速度也就是提升的敏捷开发是一个企业竞争力的体现。
在前端开发环节中,如何运用模块化方法提升迭代的速度和开发效率呢?
September 1, 2009
A股数据实时查询
最近研究js的api,就拿sina的股票数据接口练练手,完成了一个简单的A股查询系统。
因为这种api的设计是js变量的方式,自己财经网站调用,不适合做api,不想google的api设计的那么合理,所以采用php动态调用变量,然后ajax存储到php中,再展示出来。其实js能直接展示,但是我后续要做的模拟炒股需要把数据放到服务端运算。
顺便问下看到这个日志的朋友,谁知道股票的数据来源是从哪里来的?或者有什么代理商没,用sina这种不知道几手的数据怕给封掉ip