日期:2014-05-17  浏览次数:20482 次

三层架构初学,请教个问题
我的类表 id,name,parent_id,sort,english_name
通过bll层调用dal层的getClass方法
select * from classtable得到他们的数据封装到Model的Class类里边

如果我只想得到id,name的值如果直接调用这个方法是不是会浪费性能
是不是要从新写一个方法,直接select id,name但是这样的话怎么封装到model里呢

------解决方案--------------------
model应该有什么类型,是看表现层跟业务逻辑层协商(设计)结果,不是看数据库表。

那种根据几个数据库表就搞几个model的,实在是本末倒置。
------解决方案--------------------
返回一个实体完全可以啊
------解决方案--------------------
可以自己设计一个实体嘛
------解决方案--------------------
引用:
model应该有什么类型,是看表现层跟业务逻辑层协商(设计)结果,不是看数据库表。

那种根据几个数据库表就搞几个model的,实在是本末倒置。

   +1
------解决方案--------------------
你要连那个性能都在乎 那干脆别用MODEL了,层之间用字符创通信好了....甚至层都不用分了
------解决方案--------------------
  没必要的,返回一个实体字段和多个字段是体现不出来的,如果一个表字段上百个,那就要考虑了……
------解决方案--------------------
引用:
我的类表 id,name,parent_id,sort,english_name
通过bll层调用dal层的getClass方法
select * from classtable得到他们的数据封装到Model的Class类里边

如果我只想得到id,name的值如果直接调用这个方法是不是会浪费性能
是不是要从新写一个方法,直接select id,name但是这样的话怎么封装到model里呢


说点实际的吧, 你的Model层还是不要变, 要不搞死你。

在DAL层加多一个方法, 只返回部分字段, 然后这部分有数据的字段赋给Model层的id,name两个属性就好。

------解决方案--------------------
引用:
我的类表 id,name,parent_id,sort,english_name
通过bll层调用dal层的getClass方法
select * from classtable得到他们的数据封装到Model的Class类里边

如果我只想得到id,name的值如果直接调用这个方法是不是会浪费性能
是不是要从新写一个方法,直接select id,name但是这样的话怎么封装到model里呢


如果调用 id,name的情况不是很多的话,可以直接获取select * ...
如果会频繁调用的话,建议另外写一个方法。model里只给id和name赋值就可以了

------解决方案--------------------
引用:
Quote: 引用:

model应该有什么类型,是看表现层跟业务逻辑层协商(设计)结果,不是看数据库表。

那种根据几个数据库表就搞几个model的,实在是本末倒置。

很多三层架构的介绍都是 model层直接就是数据库里的字段相对应


代码生成器生成的类是和数据库里的表对应的,不过 你可以在DAL自定义model啊  想要什么样的 都可以的
------解决方案--------------------
引用:
Quote: 引用:

我的类表 id,name,parent_id,sort,english_name
通过bll层调用dal层的getClass方法
select * from classtable得到他们的数据封装到Model的Class类里边

如果我只想得到id,name的值如果直接调用这个方法是不是会浪费性能
是不是要从新写一个方法,直接select id,name但是这样的话怎么封装到model里呢


如果调用 id,name的情况不是很多的话,可以直接获取select * ...
如果会频繁调用的话,建议另外写一个方法。model里只给id和name赋值就可以了


+1

几个字段的浪费~ 真的不算什么~

我们使用了C# 而不使用0和1 本身就已经很浪费了~

淘宝说 淘宝的用户那么多 所以能节约一个byte 那么也是节约好多的~

但等到你淘宝的级别的时候再说~

现在就牺牲点性能来换开发速度吧~ 难道你真的想用1和0来编程~
------解决方案--------------------
你们这些货都没给初学者