• 什么是模型呢?最开始我也很奇怪,已经有数据库了,在再增加模型层有什么用呢?我们知道如果用非mvc等架构,我们是可以直接读写数据库的,但是你会发现每个地方都要去写sql,非常麻烦。这时如果我们通过模型层就可以不用重复sql语句了。

    模型和数据库的结构是一致的,模型相当于给我们提供了一个接口,通过模型我们就方便的操作数据库了。

    举个例子,有个数据表posts,他有两个字段,id和title,我们就建立一个Post模型,也就是建立名字是Post的类,在这个类里面我们建立许多的方法,去操作数据库。比如建个方法叫all,作用就是取出posts表里的每一条记录。那么我们就可以用Post.all的方式读取posts 表的数据了。

    另外,你也会发现,如果我们开发用的是sqlite,但是部署却用的是mysql。因为我们有模型层,就可以直接换一下数据库的接口,必担心换了数据库会因为数据库的不同而产生问题了。

    最后再说下,我们的所有程序最后到计算机的cpu,他只能执行很简单的一条条预设的指令,但是我们如果要一条条写就累死了(比如汇编),这个时候我们就用各种方式去组织代码,方便我们写程序,比如函数,对象,分层,所以无论多么复杂的代码,本质上都指令的组织方式。关键是了解这种组织方式。

    你只要知道,所有的代码最后到cpu那里就是这样的, a=1 b=2 c=a+b

  • 这下真伤心了 at 2017年07月08日

    不想掀起论战,我闭嘴。最后感谢论坛各位的无私付出。

  • ok 1、Linus的观点什么时候“正好批评”我的观念了?人家在说代码的事情,你非说不是,还要自己引申一下。关于Linus的观点能不扯了吗? 2、虽说是诛心的话,但你扪心自问,你没有想炫耀一下自己英文水平的意思? 3、我捍卫你说话的权利,但是你非要和我扯什么Linus的观点,我真不想把话题带跑,要谈就谈开源精神、共享精神; 4、别动不动给别扣帽子,我也没说你的不对,是你在说我的不对好吗? 5、这样聊下去只是斗气而已,没什么帮助; 5、你有什么观点,完全可以发布出来给大家评判。 7、我比较反感知乎。

  • Rails 查询去重问题 at 2017年07月07日

    永first方法行吗?

  • 1、这样下去跑题了。 2、不扯了,我只是传达一个我的想法,你可以不同意。

  • 1、人家说就是代码事情,别随便引申,又不是人家意思; 2、我的英语不好是实事,我承认,但我比较讨厌的就是知道别人英语不好,故意让人家出丑的行为,非君子所为!

  • 你就是强行在那里扯吧 还有什么我的他说的和代码没关系?

    每个开发者都认为他们的代码是特别的、精巧的以致于应该被默认启用。 没见自己打自己脸的。

  • 我反复看了他说的,人家明明在说提交的代码很烂,还是自鸣得意的人,和我说的关于开源精神有什么关系啊。。。?

  • 我总结下我的观点是: 1、每个人都是人类文明的一份子; 2、自私的基因在精巧的社会结构和规范下实现了整体的利益最大化; 3、从最终的效果看,人的意义和价值还是在于实现了整体的价值; 4、你力所能及的帮助他人,和利己的行为,结果都是实现个人的价值; 5、因此,不要把帮助他人视为单纯的付出,是付出同时也是自我实现。 和他说的有什么矛盾吗?

  • 是的,文章最后想致敬一下开源领域的英雄们,但又怕扯远了。