alexanderkif / modifiable-slider

You can tune slider for yourself. See examples: https://alexanderkif.github.io/modifiable-slider/
https://alexanderkif.github.io/modifiable-slider/
0 stars 0 forks source link

UML #1

Open alextsk opened 5 years ago

alextsk commented 5 years ago

https://rizzoma.com/topic/d5c429337bcaa70548fb5aeedee6d92b/0_b_8ndo_8hakf/ нужна диаграмма компонента, с разделением на уровни

alexanderkif commented 5 years ago

привет. абсолютно не понял, что требуется, но нарисовал )))

alextsk commented 5 years ago

нужно нарисовать как ты используешь MVC т.е. что входит в твои модель, вид и контроллер и как они взаимодействуют, зачем там window)

alexanderkif commented 5 years ago

ну, я вешаю на window eventlistener, для понятности. убрать? по поводу MVC: дивы - это вью, модель - сам sliderm3, а контроллер - eventlisteners и методы sliderm3.

alextsk commented 5 years ago

почиатй статьи в этом топике https://rizzoma.com/topic/d5c429337bcaa70548fb5aeedee6d92b/0_b_8ndo_78h7p/ у тебя должно получиться четкое разделение на слои, один занимается расчетами другой отрисовкой, третий их связывает. даже просто по проекту это минимум 3 файла. дивы - это не вью, это верстка, она при любой архитектуре будет на выходе

alexanderkif commented 5 years ago

почитал. переписал на три класса. но класс model закомментировал, в нем смысла не оказалось, т.к. в качестве места хранения текущего состояния модели я использую датасет того же дива. не бд конечно, но хранить можно. вью занимается только отрисовкой, перед которой контроллер обновляет ему модель. в таком варианте рисовать?

alexanderkif commented 5 years ago

заменил схему в readme

alextsk commented 5 years ago

но хранить можно.

не значит что нужно) к тому же модель не только для хранения но и для расчетов

у тебя должна быть точка входа в файле, допустим, App в которой будет прстой код связывания типа
let slider = new Controller(new Model(initData), new View('.sliderClassId')) и тогда будет понятно кто за что отвечает

alexanderkif commented 5 years ago

сделал через модель-объект и с точкой входа. обязательно ссылку на контроллер хранить? просто шедевр получился ))) :

@bind
    sliderm3modelChanged() {
        this.model.dataset = this.view.div.dataset;
        this.toDraw();
    }

    @bind
    toDraw() {
        this.view.model = this.model.dataset;
        this.view.div.dispatchEvent(new Event('draw'));

сначала через геттеры-сеттеры сделал, смотрится вроде лучше, но потом убрал - смысл то остается:

@bind
    sliderm3modelChanged() {
        this.model.setModel(this.view.div.dataset);
        this.toDraw();
    }

    @bind
    toDraw() {
        this.view.model = this.model.getModel();
alexanderkif commented 5 years ago

добавил вертикальный вид. нашелся метод для модели )

alextsk commented 5 years ago

я новое ишью создам, а то тут уже совсем не про рисование, но это не закрывай, мы сюда еще вернемся)