Паттерн 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;
- }
- }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д