首页 新闻 会员 周边

orm 框架 、orm、三层架构

0
悬赏园豆:10 [已解决问题] 解决于 2014-04-23 14:04

现在出现一个orm框架 关于NHibernate 等等 ,请问一下orm 、orm框架、三层架构这三者之间是个什么样的关系呢?

1.我现在只是知道ORM是对象关系映射模型,相当于是三层中的Model,那三层(BLL\DAO\Model)这属于是orm框架吗?

2.Orm 框架到底指的是什么?满足什么条件才属于ORM框架呢?谢谢!

wang_cq的主页 wang_cq | 初学一级 | 园豆:183
提问于:2013-10-21 22:25
< >
分享
最佳答案
0

Orm:对象关系映射;

Orm框架:处理对象关系映射的类库(个人理解);

三层架构(多层架构):软件开发过程中的项目组织结构。三层(UI,DAL,BLL),Java中一般叫(UI,DAO,Service),Model是贯穿与多个层次之间的。

这个确实,你自己要去体会下更好理解。

收获园豆:4
幻天芒 | 高人七级 |园豆:37175 | 2013-10-22 12:55

ui 不是3层里面的 

小眼睛老鼠 | 园豆:2731 (老鸟四级) | 2013-10-22 15:51

3层是业务架构

bll dal  model

web 的结构是5层

在bll上加一个ui 在model 下加一个持久

小眼睛老鼠 | 园豆:2731 (老鸟四级) | 2013-10-22 15:58

@小眼睛老鼠: Model贯穿于多个层之间,不包含在三层中吧。

http://baike.baidu.com/view/687468.htm

幻天芒 | 园豆:37175 (高人七级) | 2013-10-22 16:19

我查了下 也是的 估计是我以前一直记忆错了

小眼睛老鼠 | 园豆:2731 (老鸟四级) | 2013-10-22 17:17

@小眼睛老鼠: 哦,对于一般的小型项目,分层就是浪费。

幻天芒 | 园豆:37175 (高人七级) | 2013-10-22 17:28

@幻天芒: 哈哈 我觉得不是啊 

你要是熟练的话 分层花不了什么时间的

只有在框架不完整的情况下,需要关注细节的情况系分层才会显得冗余

小眼睛老鼠 | 园豆:2731 (老鸟四级) | 2013-10-22 18:13

@小眼睛老鼠: 对于小项目而言,分层代表着提高复杂度和增加代码量。几w行的项目,我一般都采用BLL+DAL混杂在一起的用法。

幻天芒 | 园豆:37175 (高人七级) | 2013-10-22 20:18

@幻天芒: 怎么说呢

分层是会带来开发上的复杂度和工作量

但是界限分明,能够将功能划分成更小的模块 

能够正真做到对开发者的要求降低(一个能够掌握全局结构的人,带着几个会写代码的,不需要所有人都知道全局结构)

以及日后维护性的提高

而且还有一点就是,项目中影响项目进度的很多的时候都不是开发成本

而是解决问题的成本,解决问题比开发需要消耗的时间大很多

但是层次结构清晰的程序显然更有利于查错(因为可以将程序划分的若干个块,便于问题的划分)

还有第二点就是 项目的生命力

很大程度在于程序是否具备可扩展能力

所以在我来看

一段程序结构清晰可扩展的简单的程序 和一段逻辑复杂的程序功能强大的程序

我倾向于前者 因为后者维护意义不大

小眼睛老鼠 | 园豆:2731 (老鸟四级) | 2013-10-25 12:02

@小眼睛老鼠: 可能你一开始就进的大公司。当你一个人1~2个月一个项目的时候,你就分层是多么悲催。当然我没有说分层不好的意思。对于大中型或者长期维护的项目来说,分层还是是十分有必要的。呵呵~

幻天芒 | 园豆:37175 (高人七级) | 2013-10-25 19:30

@幻天芒: 你搞错了,我一开始进的就是小公司,从一个人干起,到带领一个队伍,一直将时间和精力花费在设计和重构上(一开始手写3层代码,后来代码生成器,然后自己构建orm框架,由一开始一个分页就要弄死人,到后面只要继承一下就可以搞定所有的事情),当然一开始很痛苦,各种不适应,但是当你突破了一个界限之后(即能够通过一些技术手段将业务和技术分离,将统一的东西融入项目,学会在别人的框架上去构建程序,而不是从头开始写程序),到那时你会发现一开始比较复杂的3层,它带来的效率损失会因为,使用框架 和 设计上的复用而弥补(而且弥补的多的多,一开始做的好慢慢的你会发现越写越轻松,相反会越写越复杂)

小眼睛老鼠 | 园豆:2731 (老鸟四级) | 2013-10-27 09:29

@幻天芒: 还有一点要和你说下,对于项目来说当然速度和质量是最重要的,但是对于个人来说,学习是最重要的,有时候想使用一个新框架,但是新框架会带来各种问题,这个时候会出现抉择,是用还是不用,当然用的话会遇到非常大的困难,会面临压力,但是如果学会了后,就会有极大的成长。这里需要权衡自己的近期目标和远期目标,并将2个融合,这样才能做到工作学习2不误。

我觉得你应该好好的考虑下这些问题。不要单纯的从完成任务的角度去考虑这些问题,当有一天你能够突破一个界限之后,到那个时候你会获得更大的成长。

小眼睛老鼠 | 园豆:2731 (老鸟四级) | 2013-10-27 10:20

@小眼睛老鼠: 受教了,感谢。有时候分层不那么明确也是情非得已,部分公司的现状是,在短时间交付(质量,维护性不在考虑之类),业务的定制性导致通用的东西较少,这时候确实没法分得那么细。

现在的公司设计时间约等于编码时间,这时候就会有明确的分层架构了。

幻天芒 | 园豆:37175 (高人七级) | 2013-10-27 11:55
其他回答(2)
0

1、ORM是什么?

2、框架是什么?

3、三层架构是什么? 

你把问题分开,不要耦合在一起问。分开之后去维基百科就可以了。慢慢体会吧,直接给你讲了你也不大清楚。

收获园豆:3
朝曦 | 园豆:1073 (小虾三级) | 2013-10-22 08:57
0

解决了,查的资料 

wang_cq | 园豆:183 (初学一级) | 2014-04-23 14:03
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册