Modèles de conception de création avec Swift
En général, les modèles de conception aident à modulariser le logiciel afin que chaque composant soit séparé et remplisse une seule responsabilité. Cela signifie que les modèles de conception ont toujours aidé à créer des logiciels gérables, testables, réutilisables et optimisés. Ils augmentent également la lisibilité du code et le processus de développement logiciel est grandement accéléré avec eux.
Pour plus d'informations sur les principes SOLID de la programmation orientée objet, je laisse ici un article à ce sujet et un autre article pour Architectural Design Patterns .
Les modèles de conception créationnels concernent la manière de créer un objet ou un groupe de manière flexible et réutilisable.
"En génie logiciel, les modèles de conception créationnels sont des modèles de conception qui traitent des mécanismes de création d'objets, en essayant de créer des objets d'une manière adaptée à la situation. La forme de base de la création d'objets peut entraîner des problèmes de conception ou ajouter de la complexité à la conception. Les modèles de conception créationnels résolvent ce problème en contrôlant d'une manière ou d'une autre la création de cet objet.
Nous allons parler de cinq modèles de conception dans ce sujet. Mais vous devez savoir qu'il existe également d'autres modèles de conception de création, tels que Monostate, Object Pool , etc.
Usine
Le modèle de conception Factory est une structure qui fournit la génération en arrière-plan d'une classe ou d'un objet. Il fournit un protocole (interface) pour créer des objets liés et permet aux sous-classes d'instancier quelle classe.
Dans ce modèle, le client peut savoir quelle instance de classe il peut prendre, mais pas les détails de la création. En d'autres termes, la manière dont l'objet sera créé est abstraite.
BMW
Audi
Abstract Factory est utilisé pour établir des groupes de produits liés les uns aux autres. Pour être plus précis, il fournit une interface pour créer des familles de produits interdépendantes. La différence avec le modèle Factory est qu'il crée un groupe. Il peut être considéré comme une usine produisant une usine.
Célibataire
Une classe ne doit avoir qu'une seule instance, et cette instance doit être dotée d'un point d'accès global. Avec ce motif, nous empêchons la recréation de l'objet.
Le mot-clé statique est important pour ce modèle de conception. Nous ne pouvons pas créer de singleton sans clé statique. Parce que vous vous souvenez que statique est toujours créé une fois en mémoire. De plus, le constructeur doit être privé .
Les membres singleton sont préparés avant la fin du programme et ne meurent jamais dans l'application. Ils ne sont pas détruits par le ramasse-miettes en quittant la classe. Pour cette raison, tout ne doit pas être transformé en singleton. Les singletons peuvent être utilisés pour les objets qui sont utilisés régulièrement dans l'application.
En bas, vous pouvez voir que init n'a été appelé qu'une seule fois même si nous avons appelé PrinterObject.shared.printSingleton() deux fois.
Call init CreationalDesignPatterns_Sources.PrinterObject
Printing: CreationalDesignPatterns_Sources.PrinterObject
Printing: CreationalDesignPatterns_Sources.PrinterObject
Le modèle de conception de prototype permet la création de prototypes d'objets existants. La principale raison de concevoir le modèle de prototype est de produire rapidement un autre objet du même type sur l'objet associé.
Pour faire des clones d'adresse :
Address Title: Home, Phone: 3948728, City: Istanbul
Address Title: Work, Phone: 3948728, City: Istanbul
"Builder est un modèle de conception de création qui vous permet de construire des objets complexes étape par étape. Le modèle vous permet de produire différents types et représentations d'un objet en utilisant le même code de construction.
Le modèle Builder est un modèle utilisé dans la création d'objets complexes, de sorte que le client peut produire en spécifiant uniquement le type d'objet. Le pattern Builder permet de masquer complètement la création d'un objet complexe composé de plusieurs parties et les phases de création de cet objet complexe depuis le module client. Ce modèle est utilisé lorsqu'il y a plus d'une présentation du produit réel que le client souhaite utiliser.
Vous pouvez créer une fermeture pour AddressBuilder en raison de la définition que nous avons faite ci-dessus. Ça y est notre constructeur est prêt.
Address Title: Home, Phone: 723823747, City: London
Dans mes prochains articles, je parlerai des modèles de conception comportementaux et structurels.
Vous pouvez accéder à tous les codes de Github.
Si vous êtes intéressé par Kotlin, je vous recommande de lire Creational Design Patterns with Kotlin par Ecem Okan.
![Qu'est-ce qu'une liste liée, de toute façon? [Partie 1]](https://post.nghiatu.com/assets/images/m/max/724/1*Xokk6XOjWyIGCBujkJsCzQ.jpeg)



































