*   >> Læs Uddannelse artikler >> science >> programming

Abstract Factory Design Pattern

ikke af objektets faktiske konkrete gennemførelse. 4. De forskellige typer af objekter, abstrakt fabrik kan producere er relateret-de er fra en fælles familie. 5. En abstrakt fabrik isolerer konkrete klasser. 6. Det gør udveksle produktfamilier let. 7. Det fremmer sammenhæng mellem produkterne. 8.

Det understøtter at tilføje nye typer af produkter og deres familiesExample: offentlig grænseflade IComputerFactory {ICPU createCPU (); IMemory createMemory ();} offentlige grænseflade ICPU {string GetCPUString ();} offentlige grænseflade IMemory {string GetMemoryString ();} //Beton CPUApublic klasse CPUA: ICPU {public string GetCPUString () {return "CPUA"; }} //Beton MemoryApublic klasse MemoryA: IMemory {public string GetMemoryString () {return "MemoryA"; }} public class ComputerFactoryA: IComputerFactory {public ICPU createCPU () {return nyt CPUA (); } Public IMemory createMemory () {return nyt MemoryA (); }} public class Client {//dette er en skabelon metode; afhænger ikke af den Beton Factory //og offentligheden Konkrete klasser statisk streng BuildComputer (IComputerFactory fabrik) {ICPU cpu = factory.

createCPU (); IMemory hukommelse = factory.createMemory (); StringBuilder sb = ny StringBuilder (); sb.Append (string.Format ("CPU: {0}", cpu.GetCPUString ())); sb.Append (Environment.NewLine); sb.Append (string.Format ("Memory: {0}", memory.GetMemoryString ())); tilbage sb.ToString ();}} Opkald Clientprivate ugyldiggøre button2_Click (objekt afsender, EventArgs e) {Abstract_Factory.IComputerFactory fabrik = ny Abstract_Factory.ComputerFactoryA();MessageBox.Show(Abstract_Factory.Client.BuildComputer(factory));}

Page   <<  [1] [2] 
Copyright © 2008 - 2016 Læs Uddannelse artikler,https://uddannelse.nmjjxx.com All rights reserved.