设计Model的注意点

直接讲主题.

  有个论坛用户的数据库表,表里有两个Bit类型字段fbitIsAdminfbitIsFunctioner,分别表示是否为管理员和是否为版主.

 

  现在要设计对应的用户Model.

  一种方法是直接映射数据库字段,即在Model中设置两个Boolean属性来表示对应的字段值.

  另一种方法是只为Mode设置l一个String类型的属性"UserType",表示用户类型,根据数据库字段来设置其值为"管理员""版主""普通用户".

 

  比较一下这两种方法.

  主要是对数据读写(DAL),数据绑定(WEB),数据判断(BLL)三方面来对比.

 

  数据读写(DAL):第一种方法因为属性类型与数据库匹配,所以对数据库的读写操作方便.

               第二种方法则需要中间的转换.

  数据绑定(WEB):第一种方法需要对属性判断来决定绑定的值.

                     第二种方法则直接绑定.

  数据判断(BLL):第一种方法判断Boolean类型值,较快.

                第二种方法判断String类型值,较慢.

 

  结论:

  在表示层需要频繁绑定数据时,用第二种方法效率高.反之就用第一种方法.

 

  把这个例子抽象出来.就是当数据库字段值不能符合表示层的数据显示时,选择将数据转换放置在哪一层来实现的问题.

  再引申一点,就是在设计Model,一定要对整个程序的数据流要了解透彻,才能设计出适合的Model.到了项目后期再去改Model是非常困难的.

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值