标识符vs域对象作为方法参数
是否有客观的论据支持或反对使用对象vs唯一ID作为方法/函数参数?(以及其他对象的成员?)。特别是在静态类型语言(C#/ Java / Scala)的上下文中 对象本身的优点: 更多类型安全的调用。使用ID时,存在参数错误排序的风险。尽管可以通过为每个仅保留该类ID的类保留一个“ mini”类来缓解这种情况。 从持久中获得一次,无需再次获得 使用ID时,如果id类型发生更改,例如int-> long,则将要求全面更改,并且可能会出错。.(courtsey:https ://softwareengineering.stackexchange.com/a/284734/145808 ) 使用ID的优点: 在大多数情况下,不需要唯一的对象,只需要uniqueid即可,因此拥有ID可以节省从持久性获取ID的时间。 据我所知,将这些技术混合使用既有弊又无利。 鉴于这是一个具体定义的问题,我希望有客观的答案,而不是-“我认为”或“我喜欢”类型... :-)。 编辑:评论者建议的上下文-唯一的限制是静态类型的语言。该应用程序是一个通用应用程序,尽管也很高兴能够根据特定的使用场景获得答案。 编辑:更多的上下文。说我有一个图书管理系统。我的模型是: Book: { id: Int, isbn: String, donatedBy: Member, borrowedBy: Member } Member: {id: Int, name: String} Table- wishlist: { isbn: String, memberId: Int} Table- borrows: { id: Int, memberId: Int} Method: …