KotlinJava:这个单子对象应该有这些子方法来检查吗?

我有一个单人对象,把它叫做 Bank. Bank 有几种方法,比如 addCustomer, addRent,等等。每个方法都有一些参数来完成工作。 然而,前提条件是,有些方法要求我检查参数所给的对象是否存在,或者不存在(例如:当 addCustomer,检查是否 customerID 已在数据库中)。) 所以我的类 Bank 看起来像这样,让我们简化它。

object Bank{
   //Some lists to store data here

   fun addCustomer(customerID: String){
   checkIfCustomerExist(customerID)
   // Do something here
   }

   private fun checkIfCustomerExist(customerID: String){
   // If customer is in list, throw exception
   }
}

到目前为止还不错。然而,我的程序有许多列表和所需的函数,所以它有一个 大量 的方法来检查existnot是否存在。这样做可以吗,或者我应该怎么做才能遵循设计原则?我打算创建另一个单子对象Verification,并在那里实现所有这些检查方法。你有什么想法?

解决方案:

你应该使用依赖注入,这是建议的设计原则,而不是有很多对象类。我个人目前使用的是Dagger2,如果有很多对象,objectsingleton是浪费资源的。依赖注入也可以使代码可测试。但是,如果你有很少的对象类,并且你认为它们不浪费资源,那么应该是可以的。

@MyCustomizedScope
class Bank
@Inject
constructor(
// here any number of variables can come
val bankId: Int // bankId is unique over the existence of Bank class 
){
     // todo
}

在这个例子中 @MyCustomizedScope 用于定义Bank类的存在周期。例如在android中,@MyCustomizedScope可以绑定到这个类所在的主屏幕上。在这种情况下,只要屏幕存在,它就会存在。但是如果你把它声明为一个 对象 类存在,直到应用程序死亡,这是不需要的。

所以,建议使用依赖注入。

给TA打赏
共{{data.count}}人
人已打赏
未分类

用discord.py编辑消息

2022-11-13 21:05:20

未分类

Java错误:-"没有找到合适的方法来排序(Student[],j)"

2022-11-13 21:05:22

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索