Lors de la charge paresseux?

Je lazy load tous mes membres. J'ai fait cela pendant un certain temps et tout simplement pris le lazy load pour être une bonne chose à la valeur nominale.

Disons que nous avons

public class SomeClass
{
   public int anInt;
   public SomeReferenceType member1;

   public SomeClass()
   {
      //initialize members in constructor when needed (lazy load)
      anInt = new int();
      member1 = new SomeReferenceType();
   }
}

Qu'il ya des inconvénients à faire les choses de cette façon? Est-ce une bonne paresseux modèle de charge? Est-il judicieux de lazy load un type de valeur (avec moderne RAM fait même de la matière),?


D'après ce que j'ai appris de vos réponses, je voudrais savoir si il y a une différence entre ce qui précède et ce...

public class SomeClass
    {
       public int anInt;
       public SomeReferenceType member1 = new SomeReferenceType();

       public SomeClass()
       {

       }
    }
L'exemple de code est impatient de chargement.
Je ne pense pas que l'initialisation dans le constructeur est le chargement paresseux.
Je ne pense pas que cela importe, mais regarder quand vous avez plusieurs constructeurs, si vous oubliez de mettre member1 = new balbal vous aurez nullreference lors de l'utilisation de la variable. Et btw, il n'est pas nécessaire d'utiliser de nouvelles int() je crois
Personnellement je n'utilise que le chargement paresseux si le chargement es vraiment trop cher et il est probable que les biens en question ne sera jamais utilisé.
Lazyloading est en cours de chargement lorsque nécessaire, et non pas lors de la création d'un objcect. Il n'est pas nécessaire de créer un nombre entier avec new.

OriginalL'auteur P.Brian.Mackey | 2011-10-13