banq,问个问题:

DDD中提倡的领域层对应jdon架构中的什么地方?

对应service,我们如何区分应用级别的service和Domain Service呢?

ActionForm也是一种实现手段,那我们的Domain Model应该放在哪里呢?

楼上问题已经偏离主题,应该在Jdon框架论坛提问,这里我简单回答一下。

Jdon框架认为ActionForm是Domain Model的影子,其实在struts2.0中,已经实现ActionForm的POJO化,这样Domain Model甚至有时可以直接作为ActionForm。

以JiveJdon3为例,领域层对应其Model包。

框架都是在某种思想理论指导下的形成的,这个理论越先进、越成熟,相对应的框架也更成熟和先进。

从这个层面来说,框架的优劣和语言没有什么关系。Ror,也是一个基于mvc原则的框架,和struts类似。


我很久没有写java代码,对于ruby 和 rails不能说精通,但是确实使用了一段时间,对于大部分和我这样资质普通的人来说,大量的实践几乎是加深理解的唯一方法。当你在大量的实践中,感觉到对代码的组织不满意的时候,你会自然的寻求新的方法,jdon上面关于模式的一些介绍就是很好的方法。当你有需求的时候再学习和应用其实不晚,如果你永远不想应用更好的方法,只要能运行就行,那就真的不会提高了。

我武断的说:

ROR开发的快速不是框架和模式的功劳,而是ruby(python也一样)语言,因为动态语言本身就比静态语言高效(当然这个高效是有代价的)。

# Ruby knows what you
# mean, even if you
# want to do math on
# an entire Array
cities = %w[ London
Oslo
Paris
Amsterdam
Berlin ]
visited = %w[Berlin Oslo]

puts "I still need " +
"to visit the " +
"following cities:",
cities - visited

上面一段代码是ruby语言网站首页上的代码,很直观快速的解决一个问题。

但实际软件开发过程中,写代码只是很小的一部分工作,所以这个快速的意义的不大。很多人(包括我)喜欢rubyonrails的真正原因是可以马上见到开发成果,甚至不需要理解框架本身,这其实是不好的,让你变得懒惰。你要真正的理解和用好ROR,还是必须熟悉模式及相关理论,这也是我经常光顾j道的原因。

楼上的大哥说的很好,呵呵,我很郁闷,为什么jdon里语言攻击banq的人哪么多?有话你就不能好好说么?

“啧啧,还“基本可以这样理解”呢。你那啥框架里的service,依赖于HTTP么?人家 controller可是专门处理HTTP请求的,这怎么就“相当于”到一块去了?更别说那ActiveRecord和DAO了,咱不明白里头有啥东西不要紧,咱看看名字行么?ActiveRecord和DataAccessObject就是俩不同的持久层模式,咱先google一把再说话好不好?当然了,要是您非说这俩都是持久层所以就可以“相当于”,那我就承认没辙。

说了归齐,咱不懂就说不懂行么?承认您也有一样不懂的,不丢人。非装什么大头蒜啊您说您这。”

我不知道他说的对不对,但是就算banq说错了,你说话也不用哪么刻薄吧,我只是作为一个初学者的角度,经常来jdon学习,有时候就看不明白为什么这里“有些人”的人那么。。。。大家都是交流技术,不对可以提嘛,何必这样呢

>为什么jdon里语言攻击banq的人哪么多
攻击人身的都删除了,现在剩余的都是正常讨论。

我一直也在思考为什么我抛出一个我认为正常的观点引起那么多争议,主要还是思维不同,OO思维重点和传统过程式思维不同,这就像伊斯兰和基督到今天还是争论和战争,由于我们传统软件教育以数学数据过程式思维为主,过去,在各种媒体中,都是过程思维的人以口水淹死人。如:软件最厉害是算法(软件是为需求服务的,需求当然最重要,能把需求提炼出来当然厉害,算法属于需求提炼,只业务建模一种,不属于软件技术本身);多读读数学吧(相反,我奉劝大家多读读文学诗歌,看看古人诗歌对自然界深刻优美的提炼,多精炼美妙啊,你有这个抽象化简能力吗?多读读哲学)。