给JAVA设计开发新手的一些建议和意见(3)(2)
一般的情况是,在Dao中进行分页查询,计算总记录,总页数等等,所以需要把PageInfo传给Dao。而在逻辑类中,把传回来的分页信息数据推到FormBean或者是Action中。 也许你会这么想,如果我的Action或者FormBean继承了PageInfo,岂不是要省很多事。 千万别这么干。并不是所有的动作都需要分页信息,你的FormBean和PageInfo没有继承的关系。也就是说FormBean Has A PageInfo,但是不是Is A PageInfo。 【保持外观/行为一致】 外观一致其实很容易理解,例如你用size()表示得到一个List的大小,那么在所有的List类中你都用size()得到它的大小,这就是外观一致。 外观一致让用户更方便使用你的函数库,不用记住几个不同的表示同一个功能的函数名字。或者几个名字相同功能却不同的函数。那就很糟糕了。 行为一致相对外观一致就相对比较难做到,但是优秀的设计师肯定会让他的成果行为一致,而不是出人意料的行为,也不是一套强行规定的行为。 我们来看下面的代码: import java。util。HashMap; import java。util。Map; class UserInfo { private String realname; public UserInfo(String sName) { this。realname = sName; } public void setName(String sName) { this。realname = sName; } public String getName() { return this。realname; } } public class MyTest { Map userInfoMap = new HashMap(); public void setUserInfo(String sName,UserInfo aInfo) { userInfoMap。put(sName,aInfo); userInfoMap。put(aInfo。getName(),aInfo); } public UserInfo getUserInfo(String sName) { return (UserInfo)userInfoMap。get(sName); } public static void main(String args[]) { MyTest aTest = new MyTest(); UserInfo aUserInfo = new UserInfo("王小二"); aTest。setUserInfo("儿童团团长",aUserInfo); aTest。setUserInfo("三班班长",aUserInfo); UserInfo 儿童团团长 = aTest。getUserInfo("儿童团团长"); if(null!=儿童团团长) { System。out。println(儿童团团长。getName()); } else { System。out。println("儿童团团长 Not Found"); } UserInfo 王小二 = aTest。getUserInfo("王小二"); if(null!=王小二) { System。out。println(王小二。getName()); } else { System。out。println("王小二 Not Found"); } } }
首页 上页 | 1 | 2 | 3 | 下页 尾页 共 3 页