所有使用数据库的Web应用都"just CURD Apps(只是CURD应用)

翻 by:Nainse 2009年6月3日11:47:02

 

  是该结束Web应用到底是“只是个简单的CURD应用”还是“很庞大很复杂的应用”之争的时候了。
 
  再繁杂的行为也可以通过一个拥有适度简单规则的小单元来完成(Very complex behavior can be expressed throuth a small set of fairly smiple rules.)。这通常被描述为“emergent behavior or just emergence”。通俗来说就是简单的模块可以构建出庞大复杂的系统--原子来自分子,分子来自蛋白质,蛋白质又来自于细胞,以此类推,直到人体这样一个有机整体等等。从中我们可以看到,人类这样一个非常之复杂的有机体是有原本
很简单的构建模块(原子)构成的。
 
  这样的道理之于我们的Web应用同样适用。在OOP的编程里,我们通常用一组简单的方法来完成一个复杂的行为,理,几个简单的对象通过相互合作可以完成更复杂的功能。类似于此,在全世界的数据库中查找各类问题答案、统计各种数据、筛选各种信息的时候,用到的仅仅只有四个简单的语句(all the database in the world answering questions about all kinds of things,aggregatting and filtering, are being manipulated by four simple statements)。
  当你用SQL来访问数据库的时候,你只需要四个命令:
SQL:

1.select
2.insert
3.update
4.delete

 

你还能想出其他的SQL操作吗?没有了。你可以做的其他事情就是用DDL来修改数据库的规则(schema)。我们对数据库中所有数据的一切操作都可以通过上面那四个简单的命令组合来完成。

 

REST/HTTP

1.get
2.post
3.put
4.delete

 

HTTP如SQL一样,也把自己的使命托付给了简单的动词(命令)(HTTP happens to map the same concepts as SQL to four simple Verbs)。当然,HTTP也支持其他的几个命令--options、head、trace 和 connect--这些命令通常都是用于诊断、discovery和proxy support的。Two independent protocols hava defined the same set of general purpose actions and have decided that they are the only ones needed(?)。现在,也许我可以大胆的断定这(?)绝不是一种巧合。

 

 (对于信息来说,)不管是用户输入的还是系统中存储的,都是通过四个简单的命令来操作的,而这个四个命令的作用出奇的一致--create、read、update和delete这样一来就简单的多了,一些经过约定的 简单 操作集就能构建出解决复杂问题的系统。当一个系统不是从简单而是复杂开始时,那么开发这个系统的程序员很可能是在做一件错误的事情。一个好的软件不仅要能根据问题的复杂度来解决问题,一个好软件同样也要让开发人员可以很容易地进行扩展。综上,如果一个系统在前期设计时能制定出一些严格的规约,那么对于以后的简化设计、统一控制会很有帮助。
(最后一段的原文,感觉翻出来的不太对,谢谢批评指正:
The input from user and the storage of the system can only be manipulated using four simple commands that correspond to Create,Read,Update and Delete. These simple, constrained simple sets of operations allows you build system that solve complex problems. As a software developer you're doing something wrong if the way that you're building an application doesn't allow you to start simpleand only add complexity as needed. Software is at its best when it is only as complex as it needs to be to solve the problem at hand. Software is also at its best when it can easily be modified to add complexity as needed without drastic rework. Intentionally imposing some constrains on a design can help enforce a consistent, simple design through the entire design.)


注:我觉得作者的目的很明显,那就是一切都始于简单,简单通过有机的组合可以创造万物。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值