Есть ли способ реализовать шаблон проектирования состояния для элемента представления в MVC Asp.net? - PullRequest
0 голосов
/ 09 июля 2019

Я все еще довольно новичок в .Net MVC, и в настоящее время я разрабатываю приложение, которое в какой-то момент должно нарисовать некоторые диаграммы.Эти диаграммы могут быть разных типов (круговые, линейчатые, линейные и т. Д.).Эти диаграммы определяются мета-классом, экземпляры которого хранятся в моей базе данных (имя, URL источника данных [фактическая числовая информация поступает из API], тип).В настоящее время тип хранится в виде строкового тега, и переключатель в моем представлении определяет, какую функцию рисования вызывать (drawPieChart, drawBarChart и т. Д.).

Это многое напоминает мне о том, что шаблон проектирования состояний должен упростить (в этом случае «состоянием» будет тип диаграммы).Поэтому я начал реализовывать свои классы в моей ViewModel, но застрял, когда дело дошло до самой функции draw():

    class PieChart : IChartType
    {
        public void draw(Chart ctx)
        {
            // how to draw stuff in the view ?
        }
    }

    public class Chart
    {
        private IChartType chartType { get; set; }
        public void draw()
        {
            this.chartType.draw(this);
        }
    }

    public interface IChartType{
        void draw(Chart ctx);
    }

Я использую KendoUI для Jquery в представлении, чтобы рисовать вещи в настоящее время.

Итак, мой вопрос, есть ли способ реализовать функцию draw()?(Я полагаю, что я не должен ничего внедрять в модель, верно?)

Спасибо за вашу помощь!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...