*   >> Lecture Éducation Articles >> science >> la programmation

Résumé Factory Design Pattern

peut généralement produire plus d'un type d'objet. 3. Chaque objet qu'il produit est connu pour le récepteur de l'objet créé que par l'interface de cet objet, non pas par la mise en œuvre réelle et concrète de l'objet. 4. Les différents types d'objets que l'usine peut produire abstraite sont liés, ils sont d'une famille commune. 5. Un résumé usine isole les classes concrètes. 6. Il permet l'échange de familles de produits facile. 7. Il favorise la cohérence entre les produits. 8.

Il supporte l'ajout de nouveaux types de produits et leur familiesExample: interface publique IComputerFactory {ICPU createCPU (); IMemory createMemory ();} public interface ICPU {string GetCPUString ();} public interface IMemory {string GetMemoryString ();} //Béton CPUA de classe CPUApublic: ICPU {public string GetCPUString () {return "CPUA"; }} //Béton classe MemoryApublic MemoryA: IMemory {GetMemoryString public string () {return "MemoryA"; }} public class ComputerFactoryA: IComputerFactory {ICPU publique createCPU () {return new CPUA (); } Public IMemory createMemory () {return new MemoryA (); }} public class Client {//ceci est une méthode de modèle; ne dépend pas de l'usine de béton //et la chaîne statique classes concrètes publique BuildComputer (usine IComputerFactory) {ICPU cpu = factory.

createCPU (); IMemory mémoire factory.createMemory = (); = New StringBuilder de StringBuilder (); sb.Append (string.Format («CPU: {0}", cpu.GetCPUString ())); sb.Append (Environment.NewLine); sb.Append (string.Format ("Mémoire: {0}", memory.GetMemoryString ())); retourner sb.ToString ();}} Appel Clientprivate annuler button2_Click (object sender, EventArgs e) {usine Abstract_Factory.IComputerFactory = new Abstract_Factory.ComputerFactoryA();MessageBox.Show(Abstract_Factory.Client.BuildComputer(factory));}

Page   <<  [1] [2] 
Copyright © 2008 - 2016 Lecture Éducation Articles,https://lecture.nmjjxx.com All rights reserved.