.net Factory Pattern Example

4 min read Jun 03, 2024
.net Factory Pattern Example

Le Pattern Factory en .NET : Un Guide Complet avec Exemple

Le pattern Factory est un design pattern créatif largement utilisé en programmation orientée objet. Il permet de créer des objets de manière flexible et indépendante du contexte d'utilisation. En .NET, ce pattern est particulièrement utile pour simplifier la création d'objets complexes et pour garantir une cohérence dans la création d'instances.

Comprendre le Pattern Factory

Le pattern Factory résout le problème de la création d'objets en déléguant la responsabilité à une classe dédiée. Cette classe, appelée "Factory", possède une méthode qui retourne une instance de l'objet souhaité. L'avantage principal de ce pattern est sa capacité à cacher la complexité de la création d'objets.

Exemple Pratique en C#

Prenons l'exemple d'une application de gestion de documents. Nous avons besoin de créer différents types de documents, comme des factures, des bons de commande et des contrats. Voici comment implémenter le pattern Factory en C# :

public interface IDocument
{
    string GetDocumentType();
    string GenerateContent();
}

public class Facture : IDocument
{
    public string GetDocumentType() => "Facture";
    public string GenerateContent() => "Contenu de la facture...";
}

public class BonDeCommande : IDocument
{
    public string GetDocumentType() => "Bon de commande";
    public string GenerateContent() => "Contenu du bon de commande...";
}

public class DocumentFactory
{
    public IDocument CreateDocument(string type)
    {
        switch (type)
        {
            case "facture":
                return new Facture();
            case "bon_de_commande":
                return new BonDeCommande();
            default:
                throw new ArgumentException("Type de document invalide");
        }
    }
}

// Utilisation de la Factory
DocumentFactory factory = new DocumentFactory();
IDocument facture = factory.CreateDocument("facture");
IDocument bonDeCommande = factory.CreateDocument("bon_de_commande");

Dans cet exemple, IDocument représente l'interface commune à tous les types de documents. La classe DocumentFactory est la Factory qui crée des instances de Facture ou BonDeCommande en fonction du type de document souhaité.

Avantages du Pattern Factory en .NET

  • Flexibilité: La Factory permet de changer facilement le type d'objet créé sans modifier le code qui l'utilise.
  • Modularité: La création d'objets est encapsulée dans la Factory, ce qui améliore la modularité du code.
  • Réutilisation: La Factory peut être réutilisée dans plusieurs parties du code, ce qui réduit la duplication.
  • Maintien: Le code devient plus facile à maintenir car la création d'objets est centralisée.

Conclusion

Le pattern Factory est un outil puissant pour la création d'objets en .NET. Il offre de nombreux avantages, notamment la flexibilité, la modularité et la réutilisation du code. En utilisant le pattern Factory, vous pouvez simplifier votre code et le rendre plus facile à maintenir.

Related Post


Featured Posts