A fenti megosztott erőforrás kezelőre lehet egy jó megoldás a következő pszeudo kód (bármi, akár Java is):
resource = openResource()
useResource(resource)
close(resource)
Ebben az a jó, hogy egy helyen van a megnyitás és lezárás, könnyen átlátható, nem nagyon van hibalehetőség. A useResource-ban tetszőleges sok objektum megkaphatja a hivatkozást, használhatja kedvére, nem kell törődniük a nyitással, zárással.
Ha össze van kötve a memória felszabadítás az erőforrás felszabadítással, akkor a felszabadítatlan objektummal a lezáratlan erőforrás is együtt jár, illetve, ha már egy új erőforrást kellene nyitnia, helyette egy régit fog tovább használni.