设计Model的注意点

来源:互联网 发布:面向接口编程实例 编辑:程序博客网 时间:2024/05/22 02:22

直接讲主题.

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

 

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

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

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

 

  比较一下这两种方法.

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

 

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

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

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

                     第二种方法则直接绑定.

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

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

 

  结论:

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

 

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

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

 

 

原创粉丝点击