我有一项必须通过某些财产归还人的服务。我看到两种命名这些方法的策略:
第一个:
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命名约定哪个正确?
独立于过载问题的设计不受组合API爆炸的困扰:您开始介绍用于搜索条件的所有可能组合的方法。另一种选择是引入一个构建者,该构建者收集标准并最终返回该人。
例:
queryPerson().byId(5).run();
queryPerson().byName("John").bySex(Sex.MALE).run();
queryPerson().bySex(Sex.FEMALE).run();
而且服务API现在只有一个不错的queryPerson()
方法。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句