Java接口编程参数类型选择

问题描述:

编写接口的时候,参数的类型选择Java的基本类型和自带类型呢,还是选择自己编写的对象类型呢?

场景描述:

今天修改一个Dao层的接口,其中一个方法的参数改变了,比如本来是:void fun(int, int),修改后为:void fun(String, String),导致的结果是,其他调用这个接口的地方我需要一个一个的修改,这样的设计合理吗?

问题分析:

        这种情况,我们是选择基本类型(包括Java自带的对象类型),还是选择自己定义的对象类型呢?

从安全性分析,使用基本类型比较合理,原因很简单,能及时的发现哪些地方调用了这个方法。当修改了接口,我们最关心的就是调用接口的地方是否依然正确呢?如果不正确,MyEclipse很容易发现并提示我们进行修改。而如果是使用自己定义的对象类型,很容易出现的问题是,对象中的默写域我们根本就没有赋值,然后传递过来的数据其实很可能是对象默认的值,这样的问题隐蔽性很高,不易发现,但是当发生的时候,引起的问题却很严重。

        从复杂性分析,很明显,当然是使用自己定义的对象类型方便,代码修改的地方比较少。

        综合来说的话,自我感觉,小型系统可以使用自己定义的对象类型,因为系统本身不怎么复杂,修改维护起来容易;如果是大型的复杂系统,从稳定性和安全性考虑,还是选择基本类型比较合理。

        但是呢,如果是Service层,传递参数建议使用自定义对象类型,要不有些方法参数太多,而我们的Service层一般来说专门服务于某一对象模型,使用自定对象类型在逻辑上也很好理解。

结论:

Dao层和Service层处理方式不一样。

Dao层一般使用基本类型,但是小型系统,如果维护不是很复杂的话,可以使用对象类型,编码确实方便很多;Service 层一般使用对象作为参数传递,也有例外,比如通过用户ID获取用户信息。


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值