Sunteți pe pagina 1din 3

Universitatea Tehnică a Moldovei

Facultatea Calculatoare, Informatiсă şi Microelectronică


Departamentul Ingineria Software și Automatică

RAPORT Lucrarea de laborator nr.1

A efectuat: st. gr. TI-181, Peretean Ilie


A verificat: asist. univ., Scrob Sergiu

Chişinău 2021
Descrierea problemei:
Problema pusa la rezolvare este de a crea un singur cont online a utilizatorului
serviciilor prestate de o companie de asigurare auto, de a limita crearea altor instante
pentru clasa contului, ca sa existe doar o singura publicitate si sa furnizeze un punct de
acces global.

Figure 1 Diagrama UML

Codul sursa:
using System;
using System.Collections.Generic;

namespace Singleton
{
class Wallet
{
private Wallet() { }
private static Wallet wallet;
private readonly List<string> list = new List<string>();

public static Wallet GetInstance()


{
if (wallet == null)
{
wallet = new Wallet();
}
return wallet;
}
public void ShowSold(string service)
{
list.Add(service);
}

public void ShowBonus(string service)


{
list.Add(service);
}

public void ShowPacket(string service)


{
list.Add(service);
}
public void PrintService()
{
foreach (var service in list)
{
Console.WriteLine(service);
}
}

}
class Program
{
static void Main(string[] args)
{
Wallet wallet = Wallet.GetInstance();
wallet.ShowSold("Sold: 45.50 lei\n");
wallet.PrintService();

Wallet wallet1 = Wallet.GetInstance();


wallet1.ShowBonus("Bonus: 9.45 GB\nValabil pana la data de XX.XX\n");
wallet1.PrintService();

Wallet wallet2 = Wallet.GetInstance();


wallet2.ShowPacket("Packet:\nBasic - 50 lei\nStandart - 100 lei\nPremium - 150
lei\n");
wallet2.PrintService();

Console.ReadKey();
}
}
}

Figure 2 Screenul rezultatului

Concluzii:

In urma realizarii laboratorului numărul 1 s-a studiat patternul de proiectare


Singleton. Pentru a intari cunostintele pe acest subiect, s-a reazlizat o clasa conform
acestui pattern, care descrie un cont a utilizatorului serviciilor a unei companii mass-
media. Beneficiile unei astfel de implementatii sunt – performanta, posibilitatea de a
adresa o instanta unica a clasei in diferite parti ale unui program.

S-ar putea să vă placă și