分层开发的时候,层间调用,是繁琐的传字段值,还是方便的传对象? 我个人从面向对象的理解应该是第二种,第二种更符合面向对象的思想。分层的思想是便于开发维护。一般一个方法传递参数的个数是有限制的(好的编码规范),我记得华为的编码要求是5个参数为上线的。再说,java的三大特性中有封装,第二种更符合封装性,你有个四个参数,感觉不乱吗???养成一个良好的编码规范很重要,java的三大特性也不是说说的。欢迎拍砖 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 如果你后期再也不会加字段的话,第一种就行的。但是,你无法保证,因为需求在变,系统也在变。那么,这时候,你天天改方法加参数很明显不合适。如果我这个方法在其它地方也引用了,其它地方也要跟着改参数。这种系统很明显有问题啊。(要对修改关闭)但是对象做参数就不会有这种问题。对象里面加个属性,哪个方法想用直接get调用就行了。而且,对于“但是从方法参数列表里无法看出业务逻辑”这个问题。写方法要遵循几个原则:1.方法名一定要简单易懂2.方法的职责最好单一化(一个方法只实现一个功能)假如遵循了这样的原则的话,上面的问题也就不是问题了。 to 楼上。多个条件,比如10个条件的筛选,无法做到职责单一啊。search(p1,p2,p3,p4,p5,p6)searrch(p) ,这个search,怎么命名? 难道是 searchByp1p2p2p4p5p6?? 方法1肯定不可取。方法2可以。但是要注意一点:Order最好不要用具体类,因为用具体类的话Order和Service就紧耦合了。比如,系统中存在多种类型的订单时就会比较麻烦。如果是我来做的话,我会用第二种方法,但是会把Order定义为接口。 你方法名字是干嘛的,你所有的方法是method1, method2这样命名的?? 举个例子,java.util.List(不考虑泛型的话)N个方法的参数都是Object,楼主又是怎么区分的呢? 只针对你这种情况,应该是这样调用serviceString sql = order.asSql(); service.searchOrder(sql ); 高手进来吧..指点下小鸟 jsp分页功能 搞了两天搞不定的问题,哪位大侠帮帮忙呀! js里的document.write总是转到新的页面输出??? 怎样做一个不受系统时间影响的定时程序? 问大家一个问题 我在winxp下做了简单的SWT并打包成jar文件成功运行,请问如何移植到linux下运行? 用swing做piano keyboard问题,急急急急阿~~ 请教!(环境变量) ################高分求解!!!!,关注有分!!!! 文件转成字节数组,字节数组加密后成乱码的问题(加密大神,编码大神进) 问一个JAVA SWING 表头换成JButton的问题
但是,你无法保证,因为需求在变,系统也在变。那么,这时候,你天天改方法加参数很明显不合适。
如果我这个方法在其它地方也引用了,其它地方也要跟着改参数。
这种系统很明显有问题啊。
(要对修改关闭)但是对象做参数就不会有这种问题。对象里面加个属性,哪个方法想用直接get调用就行了。而且,对于“但是从方法参数列表里无法看出业务逻辑”这个问题。
写方法要遵循几个原则:
1.方法名一定要简单易懂
2.方法的职责最好单一化(一个方法只实现一个功能)
假如遵循了这样的原则的话,上面的问题也就不是问题了。
String sql = order.asSql();
service.searchOrder(sql );