*   >> Чтение Образование Статьи >> science >> programming

Аннотация Factory Design Pattern

д может производить связаны, они от общей семьи. 5. абстрактная фабрика изолирует конкретные классы. 6. Это делает обмен семейства продуктов легко. 7. Это способствует согласованности продуктов. 8. поддерживает добавление новых видов продукции и их familiesExample: Открытый интерфейс IComputerFactory {ICPU createCPU (); IMemory createMemory ();} Публичный интерфейс ICPU {строка GetCPUString ();} Публичный интерфейс IMemory {строка GetMemoryString ();} //Класс бетона CPUApublic CPUA: ICPU {общественного строка GetCPUString () {возвращение "CPUA"; }} //Класс бетона MemoryApublic MemoryA: IMemory {общественного строка GetMemoryString () {возвращение "MemoryA"; }} общественного класса ComputerFactoryA: IComputerFactory {общественного ICPU createCPU () {вернуть новый CPUA (); } Общественного IMemory createMemory () {вернуть новый MemoryA (); }} Клиент общественного класса {//это шаблонный метод; не зависит от бетонного завода //и конкретные классы общественного статическую строку BuildComputer (IComputerFactory завод) {ICPU процессора = factory.

createCPU (); IMemory памяти = factory.createMemory (); StringBuilder SB = новый StringBuilder (); sb.append (string.format ("Процессор: {0}", cpu.GetCPUString ())); sb.append (Environment.NewLine); sb.append (string.format ("Память: {0}", memory.GetMemoryString ())); вернуться sb.ToString ();}} Вызов Clientprivate аннулированию button2_Click (объект отправителя, EventArgs е) {Abstract_Factory.IComputerFactory завод = новый Abstract_Factory.ComputerFactoryA();MessageBox.Show(Abstract_Factory.Client.BuildComputer(factory));}

Page   <<  [1] [2] 
Copyright © 2008 - 2016 Чтение Образование Статьи,https://ru.nmjjxx.com All rights reserved.