#737 - Come realizzare una classe factory con C#

Come tutti sappiamo un costruttore inizializza un oggetto nel momento in cui viene creato ed in linea di massima è utilizzato per assegnare valori iniziali alle variabili di istanza o per eseguire procedure di avvio necessarie per creare un oggetto completamente formato.

A volte però non è consigliabile concedere agli utenti della classe l?accesso al costruttore per svariati motivi. Ecco che in questo caso si ricorre ad una class factory per la costruzione degli oggetti.

using System;

class MyClass
{
  int var1, var2;

  // crea una class factory per MyClass

  public MyClass factory(int a, int b)
  {
    MyClass obj = new MyClass();

    obj.var1 = a;
    obj.var2 = b;
    return obj;
  }


  public void show()
  {
    Console.WriteLine("var1 = " + var1 + ", var2 = " + var2);
  }
}

class TestFactory
{
  public static void Main()
  {
    MyClass x = new MyClass();
    int a, b;

    // genera oggetti con factory

    for(a=0, b=5; a<5; a++, b--)
    {
      MyClass newObj = x.factory(a, b);
      newObj.show();
    }
  }
}


Approfondimenti

Commenti

Esprimi il tuo giudizio su questo script:

Per procedere devi essere autenticato.

m.casati scrive:
#737 - Come realizzare una classe factory con C#

Due piccole precisazioni sullo script #737:1) Qualcuno si potrebbe chiedere: "ma a cosa serve? non bastava metterci un costruttore che accettasse i ...
lunedì 24 ottobre 2005

Per inserire un commento, devi registrarti alla nostra community.




IN EVIDENZA
MISC