To znamena ze ta implemntace pak vypada zhruba nasledovne ?:
class GraphicsResourceProxy extends GraphicsResource {
@Override
public byte[] getFullSizeImage()
   if(null==fullSizeImage){
      fullSizeImage = DAO.loadImageData(id);
   }
   return fullSizeImage;
}

no a samozrejme v GraphicsResourceDAO budu mit
GraphicsResource load(Integer id){
   return new GraphicsResourceProxy(entityManager.load(id));
}




Lukas Barton wrote:

Martin Bednar napsal(a):

A podle toho ze tak zhruba tusim co bude klient s objektem provadet tak si ho loadnu v prislusnem stavu. No a popravde receno se mi to ani trochu nelibi, nicmene jsem zadny elegantni pattern na toto tema na netu nenasel (nebo jsem spatne hledal ?) tak by me zajimalo jak z tohodle ven.

Navrhovy vzor se jmenuje proxy.

A presne tak to pouziva i Hibernate. Jen ty proxy generuje dynamicky.

 Lukas

Odpovedet emailem