Principi SOLID in C#: Una Guida Completa

Quando si dice che bisogna avere solidi principi nella vita questo vale anche per gli sviluppatori. E no, non parliamo di ideali o convinzioni o dottrine strane.
Ok. basta con questo stupido umorismo e veniamo al dunque.

I principi S.O.L.I.D. sono un insieme di linee guida per migliorare la progettazione e la manutenzione del software e sono stati introdotti da Robert C. Martin, noto anche come “Uncle Bob”, all’inizio degli anni 2000.
Questi principi aiutano a creare codice più flessibile, comprensibile e manutenibile e la parola SOLID è un acronimo che racchiude le iniziali di questi principi.

In questo articolo, esploreremo i cinque principi SOLID con esempi pratici in C#.
Partiamo con elencare quali sono questi principi

S – Single Responsibility Principle (SRP)
O – Open/Closed Principle (OCP)
L – Liskov Substitution Principle (LSP)
I – Interface Segregation Principle (ISP)
D – Dependency Inversion Principle (DIP)

vediamo dunque di che si tratta.
Leggi tutto “Principi SOLID in C#: Una Guida Completa”

Indice TIOBE agosto 2024

TIOBE Index for August 2024

Il TIOBE Programming Community Index, in breve TPC Index, è un indicatore della popolarità dei linguaggi di programmazione.

Mensilmente viene stilata una classifica compilata grazie ai dati ricavati dai tre motori di ricerca Google, MSN e Yahoo! che valuta la disponibilità mondiale di esperti programmatori, corsi a tema e i fornitori terze parti nei vari linguaggi di programmazione.
Per calcolare le valutazioni vengono utilizzati i siti web più popolari Google, Amazon, Wikipedia, Bing e più di altri 20 vengono utilizzati per calcolare le valutazioni. Leggi tutto “Indice TIOBE agosto 2024”

Parameters modifiers (modificatori generci di parametri) in, out, ref in [C#]

Introduzione

C# è un linguaggio di programmazione tipizzato, il che significa che dobbiamo sempre dichiarare il tipo dei parametri quando specificato, ma possiamo andare oltre e specificare dei modifiers (modificatori) per ciascun parametro.

Questi modificatori permettono di decidere cosa si può e non si può ( e cosa si deve)  fare  con i parametri.

In C# ci sono tre modificatori di parametri in, out , ref. Leggi tutto “Parameters modifiers (modificatori generci di parametri) in, out, ref in [C#]”

Classi Astratte in [C#] con esempi

Nella programmazione orientata agli oggetti, le classi astratte svolgono un ruolo cruciale nella definizione di comportamenti e caratteristiche comuni per le classi derivate.

C# fornisce un potente supporto per le classi astratte, consentendo agli sviluppatori di creare architetture di codice robuste e flessibili.

In questo articolo vediamo il concetto di classi astratte in C# ed i suoi vantaggi e poi vediamo qualche esempio pratico per iniziare a padroneggiarne l’utilizzo. Leggi tutto “Classi Astratte in [C#] con esempi”

Sviluppo Multi Piattaforma : .NET MAUI

Una delle richieste più gettonate da parte degli sviluppatori in questi ultimi anni è quella di poter sviluppare applicazioni in modo indipendente dalla piattaforma sulle quali l’applicazione dovrà girare.

Molteplici sono i sistemi operativi attualmente in uso da una miriade di utenti per cui l’esigenza di creare applicazioni che possano coprire un numero maggiore possibile di utilizzatori è più che mai attuale.

Si parla di Window, IOS, Android, OsX, Linux.

Per soddisfare questa richiesta nasce .Net MAUI. Leggi tutto “Sviluppo Multi Piattaforma : .NET MAUI”

Conversione tra intero ed esadecimale [c#]

In questo post vediamo le varie modalità con cui si può convertire un valore numerico intero nel corrispondente esadecimale in c#.

Convertire un Intero in un Esadecimale in c#

Metodo Convert.ToString
Il primo metodo è quello di usare il metodo integrato Convert.ToString  specificando il valore da convertire e la base da utilizzare.
Di seguito un esempio :

using System;

public class Example
{
    public static void Main()
    {
        int value = 1000;
        int toBase = 16;

        string hex = Convert.ToString(value, toBase);
        Console.WriteLine(hex);
    }
}

/*
    Output: 3e8
*/

Metodo Int32.ToString
Il metodo successivo è quello di usare il metodo ToString   in questo caso della classe Int32 (ma presente quasi tutti i tipi) specificando il formato da utilizzare.

Nel nostro caso dovremo usare l’identificatore di formato numerico standard esadecimale “X” o “x”.
Di seguito un esempio :

using System;

public class Example
{
    public static void Main()
    {
        int value = 1000;

        string specifier = "X";
        string hex = value.ToString(specifier);
        Console.WriteLine(hex);
    }
}

/*
    Output: 3E8
*/

Metodo String.Format
Un ulteriore metodo sfrutta la classe String e precisamente il metodo Format.

using System;

public class Example
{
    public static void Main()
    {
        int num = 1000;

        string hex = String.Format("{0:X}", num);
        Console.WriteLine(hex);
    }
}

/*
    Output: 3E8
*/

 

Convertire un esadecimale in un numero Intero in c#

I metodi usati sono gli analoghi dei precedenti richiamati con gli opportuni parametri.

Metodo Int32.Parse

using System;

public class Example
{
    public static void Main()
    {
        string hex = "3E8";
        int value = Int32.Parse(hex, System.Globalization.NumberStyles.HexNumber);

        Console.WriteLine(value);
    }
}

/*
    Output: 1000
*/

 

Metodo Convert.ToInt32

using System;

public class Example
{
    public static void Main()
    {
        string hex = "3E8";
        int value = Convert.ToInt32(hex, 16);

        Console.WriteLine(value);
    }
}

/*
    Output: 1000
*/