Java方法命名约定和重载

Pavel_K:

我有一项必须通过某些财产归还人的服务。我看到两种命名这些方法的策略:

第一个:

getPersonById(int id)
getPersonByBirthDate(Date date)
getPersonByBirthDateAndSex(Date date,Sex sex)
getPersonByNameAndSex(String name,Sex sex)
getPersonByBirthDateAndNameAndSex(Date date,String name,Sex sex)
etc..

或应用重载规则执行以下操作:

getPerson(int id)
getPerson(Date date)
getPerson(Date date,Sex sex)
getPerson(String name,Sex sex)
getPerson(Date date,String name,Sex sex)

根据Java命名约定哪个正确?

wero:

独立于过载问题的设计不受组合API爆炸的困扰:您开始介绍用于搜索条件的所有可能组合的方法。另一种选择是引入一个构建者,该构建者收集标准并最终返回该人。

例:

 queryPerson().byId(5).run();  
 queryPerson().byName("John").bySex(Sex.MALE).run();
 queryPerson().bySex(Sex.FEMALE).run();

而且服务API现在只有一个不错的queryPerson()方法。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章