Паттерн factory method работа с отчетами (в виде xml, html) на c# (генерация отчетов)
Формулировка задачи:
Всем приветик))
Преподаватель дал задание на экзамене, и не как не могу с ним разобраться.
Нужно в C# привести пример работы паттерна фабричный метод.
В интернете нашла, что то похожее но на языке java
Взяла отсюда: http://www.javenue.info/post/17
Помогите разобраться.
P.S. в С# я почти ничего не понимаю. Так уж вышло=))
public abstract class AbstractWriter { public abstract void write(Object context); }
public class ConcreteFileWriter extends AbstractWriter { public void write (Object context) { // method body } } public class ConcreteXmlWriter extends AbstractWriter { public void write (Object context) { // method body } }
import java.io.File; import org.w3c.dom.Document; public class FactoryMethod { public AbstractWriter getWriter(Object object) { AbstractWriter writer = null; if (object instanceof File) { writer = new ConcreteFileWriter(); } else if (object instanceof Document) { writer = new ConcreteXmlWriter(); } return writer; } }
Решение задачи: «Паттерн factory method работа с отчетами (в виде xml, html) на c# (генерация отчетов)»
textual
Листинг программы
public abstract class AbstractWriter { public abstract void Write(Object context); } public class ConcreteFileWriter : AbstractWriter { public void Write(Object context) { // запись в файл } } public class ConcreteXmlWriter : AbstractWriter { public void Write(Object context) { // запись в xml файл } } public class FactoryMethod { public AbstractWriter GetWriter(Object object) { AbstractWriter writer = null; if (object is File) // проверка типа аргумента, заменить на нужный... { writer = new ConcreteFileWriter(); } else if (object is Document) // проверка типа аргумента, заменить на нужный... { writer = new ConcreteXmlWriter(); } return writer; } }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д