У меня есть класс Вопрос, у которого есть свойство Тип. Основываясь на этом типе, я хочу определенным образом отобразить вопрос в html (множественный выбор = переключатели, множественный ответ = флажки и т. д.). Я начал с одного метода RenderHtml, который вызывал подметоды в зависимости от типа вопроса, но я думаю, что разделение логики рендеринга на отдельные классы, реализующие интерфейс, могло бы быть лучше. Однако, поскольку этот класс сохраняется в базе данных с помощью NHibernate, а реализация интерфейса зависит от свойства, я не уверен, как лучше всего разместить этот класс.
Рассматриваемый класс:
Код: Выделить всё
public class Question
{
public Guid ID { get; set; }
public int Number { get; set; }
public QuestionType Type { get; set; }
public string Content { get; set; }
public Section Section { get; set; }
public IList Answers { get; set; }
}
На основе свойства перечисления типа вопроса я хотел бы отобразить следующее (просто пример):
Код: Выделить всё
[Content]
[Answer Value]
[Answer Value]
[Answer Value]
...
В настоящее время у меня есть один большой оператор переключения в функции под названием RenderHtml(), который выполняет грязную работу, но я бы хотел переместить его во что-нибудь более чистое. Я просто не знаю, как это сделать.
Есть мысли?
Подробнее здесь:
https://stackoverflow.com/questions/165 ... n-question