我有一个库并创建一个实例,我使用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,则必须对其进行调用。
如果有一个很好的默认值可以连接,则在构造函数中与其连接。

10-08 16:07