ROR和OO
因为公司的安排,最近开始接触ROR的开发,刚刚上手一个月,把遇到的问题罗列出来跟大家讨论讨论。
1. 没有仔细的学习ruby,只是粗略的看了一下语法,接着就直接学习ROR,或者说直接从《Agile Web Development with Rails》这本书开始学习。ROR是一个DDD的框架,但是这本书中的例子都是先从设计数据表开始,感觉这样做跟OO有冲突,至少在ORM的时候跟hibernate等框架的方向是相反的。
2. ROR实现了MVC,甚至是严格执行MVC。ROR 消除了service层和dao层,导致一些本应该属于service的行为向两边渗透(controller层和model层) ,把本不该属于model的一些行为都强加到model身上,这样做就造成了充血模型,甚至是胀血模型的形成。Controllers也会显得非常臃肿。
好了,问题来了。
对于1,是不是ROR的开发都是基于数据库驱动的,用OO驱动开发要怎么开始?
对于2,我们是不是可以加入service层,把分层做的更加合理。但这样做是不是会破坏ror号称的快速简便?