软件世界网 购物 网址 三丰软件 | 小说 美女秀 图库大全 游戏 笑话 | 下载 开发知识库 新闻 开发 图片素材
多播视频美女直播
↓电视,电影,美女直播,迅雷资源↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
移动开发 架构设计 编程语言 Web前端 互联网
开发杂谈 系统运维 研发管理 数据库 云计算 Android开发资料
  软件世界网 -> 架构设计 -> 《开源框架那点事儿15》:借船下海还是造船下海 -> 正文阅读

[架构设计]《开源框架那点事儿15》:借船下海还是造船下海


    1.借船与借力
    三国时期,曹操率大军想要征服东吴,孙权、刘备联合抗曹,“草船借箭”即来源于此,意即运用智谋,凭借他人的人力或财力来实现自己的目标。我们来看看这个故事的几个关键环节。
    为了筹集十万支箭,诸葛亮找到鲁肃。诸葛亮说:“这件事要请你帮我的忙。希望你能借给我20只船,每只船上30个军士,船要用青布慢子遮起来,还要一千多个草把子,排在船两边。”第三天四更时候,诸葛亮邀请鲁肃一起,把船用绳索连起来向曹操对岸开去。那天江上大雾迷漫,对面都看不见人。当船靠近曹军水寨时,诸葛亮命船一字儿摆开,叫士兵擂鼓呐喊。曹操以为对方来进攻,又因雾大怕中埋伏,就派六千名弓箭手朝江中放箭,雨点般的箭纷纷射在草把子上。过了一会,诸葛亮又命船掉过头来,让另一面受箭。
    太阳出来了,雾要散了,诸葛亮令船赶紧往回开。这时船的两边草把子上密密麻麻地插满了箭,每只船上至少五、六千支,总共超过了十万支。鲁肃把借箭的经过告诉周瑜时,周瑜感叹地说:“诸葛亮神机妙算,我不如他。”

    2.顺势而为
    “明者因时而变,知者随事而制”这个用典,出自汉代桓宽《盐铁论》卷二之枕边第十二篇。汉宣帝的中兴之道,得益于诸多方面,根本的一条就是“明者因时而变,知者随事而制”,了解民情,把握趋势,与时俱进,开放而谋实。同样,作为开发团队,在互联网竞争时代,也要干很多事。有些事很顺利,有些却坎坎坷坷的,有些根本就干不成。细想一下,事情的成败原因可以归结为一个字,势,顺势而为,如水推舟,事半功倍;逆势为之,则逆水行舟,艰难险阻,功败垂成。
    势是什么,就是一种趋势,一种方向,一种潮流。顺势而为,关键在于一个“势”字,要有一双慧眼,判明大势进退;要有一颗名亮亮的新,悟达通透。做到“顺势而为,乘势而上”。

    3.框架开发的“借力”与“顺势”
    基础的框架开发并不难,但是要想做得优雅、健壮并不容易,要做出一个好的框架往往会花费大量的时间、人力财力。衡量一个框架是否优秀,往往有这些考量因素。
    (1)清晰的代码库,简单易用。代码复用是把一个功能写成一个模块,以便当再次需要相同功能的时候,可以直接使用,而不用重新开发。举个例子,假如你的网站需要验证码,你就可以把验证码这个功能单独提取出来以便复用。通常代码复用是通过类与对象来实现的,这也是面向对象编程与面向过程编程最主要的区别之一。以响应式网页设计为例,实现起来并不困难,但是要让它在所有的目标设备上都正常运作会有一点小棘手。而框架可以让这一工作变得简单。利用框架,你可以花最少的力气创建响应式且符合标准的网站,一切都很简单并且具有一致性。还有很多好处是显而易见的,比如说简单快速,以及在不同的设备之间的一致性等等。也就是说,框架最大的“势”就是简单易用,即使只掌握少量的Web知识,你也可以毫无障碍的使用它们。
    (2)粉丝使用过程的“倒逼”,强大的框架创新体系,营造良好的社区生态环境。“倒逼”是一种被动行为,是“迫使”、“反推”等词的升级版,该词强化了反常规、逆向促动之义。时下“倒逼”正在成为美谈,并曾经入选年度十大流行词。各行各业的问题动辄倒逼,似乎“倒逼则灵”。在许多领域,“倒逼”的确是这样大显身手的。作为一种开源力量,“倒逼”未尝不是一种正向力量!坚实的社区基础和积累,以及丰富的模板系统,往往可以为框架树立良好的口碑,形成一种“引力场”。尤其是需要有大量忠实的社区粉丝,也是框架实力的最好支持。作为社区网站,也要站在运营者角度和用户角度双方面来考虑上诸多问题。在用户角度上完善网站产品,去满足用户的核心需求,帮助用户解决问题。
    (3)简单的学习曲线,与相关应用集成更加容易。学习曲线的定义为“在一定时间内获得的技能或知识的速率”,又称练习曲线(practice curves)。人们为了知道学习进程中的现象和进步的快慢的详情,作为以后努力的指针,应用统计图的方法作一条线,把它表示出来。它源于“二战”时期的飞机工业,当产量上升时,生产每架飞机的劳动时间会极大地下降。随后的研究表明,在许多行业都存在这种现象。同样,在框架应用中,我们需要的不仅仅是模板,还更想要陈述式的可重用的模板框架。尤其需要能够创建可扩展的互联网应用。
    (4)文档支持与引导系统。写文档不容易同时也是需要花费一些时间的。作为潜在的用户,我们第一次接触开源项目,很可能就是通过阅读README文件。我们需要确保它很棒并且包含了有用的信息。以Tiny框架为例,我们始终认为文档是能为用户做的最好的事了!文档不仅能够节省用户大量的时间,也可以让用户确信,我们的确是把他们当做上帝,而且,我们是一帮有血有肉的人,不是一个产生代码的机器。
    (5)向后兼容,同时把握大势,对主流技术发展有一个准确的判断。关于软件开发的一件很令人生气的事,就是当你升级一个库但是数百个测试失败了。更让我生气的就是我还要重写我一半的基础代码,因为有人在没有任何警告的前提下决定打破公共的API。因此,向前看齐,同时致力于维护向后兼容性,也是我们重点把握的方向。以Tiny框架为例,我们常常会关注,使用这个项目有几个月了吗?是否觉得它还是不完整的?是否希望API在下一个版本会彻底地修改?是否在要求最多并且很老的项目中也能稳定安全的使用?当考虑到向后兼容时,也能有一个很好的跟踪记录。
    (6)可延续的技术支持。有些人可能关心许可证,但是真正使用框架或库的人很关心的是有保障的后续服务和支持。所以真正可用的框架包含了框架的可用及有保障的支持和服务,这样才能让客户在使用过程中更加放心。


    郑和下西洋,没有人关心他使用的是什么船;诸葛亮借箭,也没有人关心他使用的是谁的船。不过,他们都很轻松的完成了自己的目的。造船下海,还是借船下海,关键还是在于顺势而为,把握大势!


 
欢迎访问开源技术社区:http://bbs.tinygroup.org。本例涉及的代码和框架资料,将会在社区分享。《自己动手写框架》成员QQ群:228977971,让我们一起动手,了解开源框架的奥秘! 
[img]http://img.blog.csdn.net/20150608165411683
第4波活动:写书评,送精美开发图书!
......显示全文...
    点击查看全文


上一篇文章      下一篇文章      查看所有文章
2015-06-21 18:16:04  
架构设计 最新文章
Opengl教程之读取obj并绘制在picturecontro
读《企业应用架构模式》第五章并发
StepbyStepintoSpring(IOC)
设计模式(2)用例图之一
使用实体组件系统(ECS)开发”吃方块”游戏实
编程学习之简单工厂模式与策略模式
Invalidprojectdescription.
基于Redis实现分布式消息队列(2)
《开源框架那点事儿15》:借船下海还是造船
原型模式——浅复制和深复制
360图书馆 软件开发资料 文字转语音 购物精选 软件下载 美食菜谱 新闻资讯 电影视频 小游戏 Chinese Culture 股票 租车
生肖星座 三丰软件 视频 开发 短信 中国文化 网文精选 搜图网 美图 阅读网 多播 租车 短信 看图 日历 万年历 2017年9日历
2017-9-24 16:50:18
多播视频美女直播
↓电视,电影,美女直播,迅雷资源↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  软件世界网 --