python要三层架构吗_关于三层架构的理解,为什么要实体层

你的位置:

问答吧

-> .NET

-> 问题详情

关于三层架构的理解,为什么要实体层

我们开发一般写的三层结构,

UI---界面

BLL---逻辑层

DAL--数据层

但是我一般写的都有一个实体层

Model----实体层

为什么我们不交做四层呢,而且我觉得我的项目中一般的逻辑层基本没有什么用,就是只有调用哈方法,

三层一般怎么使用,有哪些框架

各位大侠帮忙解答哈我的疑惑撒

作者: YangNengjun642358

发布时间: 2010-11-02

并不是一个类库就是一个层。

作者: winner2050

发布时间: 2010-11-02

只是一个辅助数据库映射吧。

三层对于新人而言是知其然不知其所以然的,我现在虽然明白道理,但是实际操作过程中并不是做得非常好。

作者: jxyxhz

发布时间: 2010-11-02

三层的结构很明显,功能相互隔离。Model层同这三层不一样,有人形容说“上窜下跳”,同哪个层都有关系。

如果你认为逻辑层没用,那就可以不用(你说了算就行)。可以根据实际情况设计1层、2层、3层和4层。

怎么方便怎么用。

作者: torontosky

发布时间: 2010-11-02

Model就是一个载体,装到东西可以流走三层,

作者: kokorenfeng

发布时间: 2010-11-02

MODEL层, 是数据库的映射,可以理解为传递数据的载体!

作者: boyldr

发布时间: 2010-11-03

但是 Model在项目中,如果我五六十张表就是五六十个模型层的类

虽然他就是一个载体,有时候,这个数据关系嵌套复杂相互引用也复杂,

那么大家的项目中一般用吗?听说用Linq就可以不用模型层了。是不是哦

作者: YangNengjun642358

发布时间: 2010-11-03

没有那么严格的规定,只要自己心里有数就行了。

我看Pet Shop 4,里边还用表格呢!

作者: torontosky

发布时间: 2010-11-03

Model又叫实体类,这个东西,大家可能觉得不好分层。包括我以前在内,是这样理解的:UIModelBLLModelDAL,如此则认为Model在各层之间起到了一个数据传输的桥梁作用。不过在这里,我们不是把事情想简单,而是想复杂了。

Model是什么?它什么也不是!它在三层架构中是可有可无的。它其实就是面向对象编程中最基本的东西:类。一个桌子是一个类,一条新闻也是一个类,int、string、doublie等也是类,它仅仅是一个类而已。

这样,Model在三层架构中的位置,和int,string等变量的地位就一样了,没有其它的目的,仅用于数据的存储而已,只不过它存储的是复杂的数据。所以如果你的项目中对象都非常简单,那么不用Model而直接传递多个参数也能做成三层架构。

那为什么还要有Model呢,它的好处是什么呢。下面是思考一个问题时想到的,插在这里:

Model在各层参数传递时到底能起到做大的作用?

在各层间传递参数时,可以这样:

AddUser(userId,userName,userPassword,…,)

也可以这样:

AddUser(userInfo)

这两种方法那个好呢。一目了然,肯定是第二种要好很多。

什么时候用普通变量类型(int,string,guid,double)在各层之间传递参数,什么使用Model传递?下面几个方法:

SelectUser(int UserId)

SelectUserByName(string username)

SelectUserByName(string username,string password)

SelectUserByEmail(string email)

SelectUserByEmail(string email,string password)

可以概括为:

SelectUser(userId)

SelectUser(user)

这里用user这个Model对象囊括了username,password,email这三个参数的四种组合模式。UserId其实也可以合并到user中,但项目中其它BLL都实现了带有id参数的接口,所以这里也保留这一项。

传入了userInfo,那如何处理呢,这个就需要按照先后的顺序了,有具体代码决定。

这里按这个顺序处理

首先看是否同时具有username和password,然后看是否同时具有email和password,然后看是否有username,然后看是否有email。依次处理。

这样,如果以后增加一个新内容,会员卡(number),则无需更改接口,只要在DAL的代码中增加对number的支持就行,然后前台增加会员卡一项内容的表现与处理即可。

应该下载微软的PetShop研究一下

作者: xiaonuo221

发布时间: 2010-11-03

我们还没学这个!

作者: rart2008

发布时间: 2010-11-03

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值