Image

Imageurfindjusse wrote in Imageru_java

Java RAII

Доброго времени суток.
Есть два варианта работы с соединением БД.
так вот хотелось знать аргументы за и против.
Спасибо.


public class CaheConnectionProxy {
private OracleConnection oracleConnect = .... ;
public CaheConnectionProxy(Map connProp) {
oracleConnect =
}
public OracleConnection getCahedConnection(){
return this.oracleConnect;
}
public void closeCachedConnection() {
this.oracleConnect.close();
}
}




И такой:
public class CaheConnectionProxy {
public OracleConnection getCahedConnection(Map connProp){
oracleConnect = new ......;
}
}

Считается что вот такой дизайн явзяется кривым:
OracleConnection theConn = new CaheConnectionProxy().getCahedConnection(MyconnProp);
try{
MyDAO daoObject = new MyDAO(theConn);
}catch(SQLException e){
theConn.close();
}finaly{
theConn.close();
}
"правильно" от так:
CaheConnectionProxy theCaheConn = new CaheConnectionProxy(MyconnProp);
try{
MyDAO daoObject = new MyDAO(theCaheConn.getCahedConnection());
}catch(SQLException e){
theCaheConn.closeCachedConnection();
}finaly{
theCaheConn.closeCachedConnection();
}