algorytm.org

Implementacja w C#

Baza Wiedzy
wersja offline serwisu przeznaczona na urządzenia z systemem Android
Darowizny
darowiznaWspomóż rozwój serwisu
Nagłówki RSS
Artykuły
Implementacje
Komentarze
Forum
Bookmarki






Sonda
Implementacji w jakim języku programowania poszukujesz?

Singleton (singleton) - Implementacja w C#
Ocena użytkownikóww: *****  / 6
SłabyŚwietny
Nadesłany przez Kamil Dworak, 01 września 2010 22:00
Kod przedstawiony poniżej przedstawia główną część rozwiązania problemu.
Pobierz pełne rozwiązanie.

Jeżeli nie odpowiada Ci sposób formatowania kodu przez autora skorzystaj z pretty printer'a i dostosuj go automatycznie do siebie.

Singleton.cs:
/****************************************
* Wzorzec Projektowy Singleton          *
* www.algorytm.org						*
* Opracowal Dworak Kamil 				*
*****************************************/

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace ConsoleApplication5
{

class MenedzerPlikow {
	private static MenedzerPlikow instancja = null;
	private int identyfikator;
	
	private MenedzerPlikow(){
        Random random = new Random();
		identyfikator = random.Next(10);
	}
	
	//-------------------------------------------------------------------------------------------#1 sposob
	public static MenedzerPlikow dawajMenedzer(){
		if(instancja == null){
			instancja = new MenedzerPlikow();
			return instancja;
		}
		Console.WriteLine("Menedzer juz zostal wczesniej utworzony!");
		return instancja;
	}
	
	public void about(){
		Console.WriteLine("Identyfiaktor = " + identyfikator);
	}
	
	/*-------------------------------------------------------------------------------------------#2 sposob
	// nie inicjujemy tutan nullem, instancja juz od poczatku posiada wartosc
    	
	private static readonly MenedzerPlikow instancja = new MenedzerPlikow();
	  	public static MenedzerPlikow dawajMenedzer(){
				return instancja;
			}
	 */
	
}
    class Program
    {
        static void Main(string[] args)
        {
            MenedzerPlikow[] tab = new MenedzerPlikow[3];
		    tab[0] = MenedzerPlikow.dawajMenedzer();
		    tab[1] = MenedzerPlikow.dawajMenedzer();
		    tab[2] = MenedzerPlikow.dawajMenedzer();
		
		    for(int i = 0; i < 3; i++)
		    	tab[i].about();
            Console.ReadLine();
        }
    }
}
Dodaj komentarz