"Nem attól Singleton valami, mert privát konstruktora, és class-level (aka static) publikus getInstance() instantiate() metódusa van"
Es megkaptuk a factory-t ;)
Amugy igen, Singleton arra kell, amibol egy van es mindig egy is lesz, es ebben biztosak is vagyunk. Volt mar, hogy at kellett irnom a getInstance() -t getInstanceWithHash(Connection.getHashFor(getConnetionStringFor('defaultdb')))-re pl., szoval ismerem a singleton limitacioit es hogy hogy lehet azt megkerulni :D
Dependency injection meg szep es jo, de nehezebben karbantarthato es csunyabban nez ki, ha emiatt 30 dolgot kell atadni a konstruktornak (lattam ra peldat, a szerzo ezt komolyan gondolta, ettol fuggetlenul esszel ez is hatarozottan jo).
Szoval a tortenet roviden: mindent esszel, egyik pattern sem svajci bicska (bar szerintem ezzel nem mondtam neked se ujat).