我有一个库并创建一个实例,我使用connectWith()方法发送数据库模型:
Wallet wallet = new WalletPoket();
wallet.connectWith(
DAOFactory.getDAOFactory(DAOFactory.MYSQL)
);
接下来是这些方法:
int privateCardId = wallet.addCard(1, "Economy 1");
boolean wasDeleted = wallet.deleteCard(privateCardId);
...
如果未事先调用connectWith()方法,则调用先前的方法将导致NullPointerException。
是否可以强迫用户调用connectWith()方法,或者如果不这样做,则向用户显示警告?
从构造函数中调用该方法是否可以接受?
Wallet wallet = new WalletPoket(
DAOFactory.getDAOFactory(DAOFactory.MYSQL)
);
最好的选择是什么?
最佳答案
您有几种选择。
强制用户将选项作为参数传递给构造函数。
引发异常并显示一条消息,指出如果未调用connectWidth
,则必须对其进行调用。
如果有一个很好的默认值可以连接,则在构造函数中与其连接。