Вторник, 26.11.2024
Мой сайт
Меню сайта
Статистика

Онлайн всего: 66
Гостей: 66
Пользователей: 0
Главная » 2019 » Июль » 16 » MVC программирование
16:50
MVC программирование

MVC программирование

Вчера я на работе эту штуку подключила и она, наконец, подключилась. Для этого потребовалось поставить на машину Visual Studio. Что там совершенно необходимое ставится ещё (при основной установке), я не знаю. Но без этого (при установке только Core) вообще всё перестает работать. Логика в этом есть. Если раньше для изменения мне достаточно было хоть в блокноте поменять текстовый файл, то здесь программные тексты компилируется в DLL.Т.е без компилятора на машине ничего быстро поменять не получится.
Сама эта штука, конечно, не доделана. Я делала так, чтобы можно было работать. Но часть вещей меняется редко и я могу их пока просто менять с сервера (оттуда тоже можно корректировать данные). Конкретно справочник там сделан только один. На самом деле их довольно быстро можно наклепать, но пока их там нет.
MVC пытается конкурировать по скорости программирования со средами разработчика. Но поскольку это всё-таки язык программирования, оболочка может сама сгенерировать программные тексты.
Если вот этот инструмент запустить:
01.gif
… то по описанию таблицы (в моделях) будет добавлено всё необходимое для просмотра и корректировки данных в этой таблице. Правда, это будет выглядеть примерно так:
02.gif
Необходимый минимум корректировки сгенерированных текстов – перевод английских названий кнопок (Create, Edit и т.д.) на русский. Т.е в созданных генератором текстах надо найти эти слова и заменить на русские переводы.
Чуть больше усилий требуется.  чтобы это стало более-менее прилично выглядеть:
03.gif
Причём делать это можно большими или меньшими усилиями потому что основная часть установок оформления (цвета и размеры букв) содержаться в общем файле стилей (для всего проекта).
Для справочников в 10 – 20 строк этого достаточно. Для более длинных справочников или документов тоже можно сгенерировать начальный вариант текста. Но есть нечто, с моей точки зрения, необходимое и чего генератор не делает. Разбивку по страницам он, вроде, сам не делает (не нашла, во сяком случае).
Ещё более сложный вариант – работа при наличии фильтров (которые тоже надо добавлять вручную). Пусть я собираюсь откорректировать строку:
04.gif
Я нажму кнопку и у меня пойдёт запрос страницы для корректировки строки (dPeredv/Edit). Мне надо этой странице сообщить какую именно строку таблицы я хочу откорректировать. С этим генератор справится. Он сам добавит в текст необходимое PeredvID=80.
Но у меня не простой экран. Вверху у меня фильтры, позволяющие выбрать только конкретные документы. А внизу у меня ещё навигация по страницам. Если я всё это не передам в страницу корректировки (например), я не смогу вернуть тот вид картинки- списка документов, который показан выше.
Экран корректировки выглядит так:
05.gif
Но как при сохранении, так и при отмене сохранений будет запрошена страница со списком документов. Эта будет новый вызов страницы, новая отрисовка экрана чем-то напоминающая DOS-овские времена. Чтобы не потерялись ранее введённые фильтры мне надо вызвать страницу списка с ранее переданными параметрами – фильтрами (хотя для  страницы – корректировки эти параметры и не нужны).
Параметр ColorID в хвосте добавлен чтобы выделить цветом только что откорректированную строку:

В06.gif
Вот этого всего никакой генератор текстов не делает. Работать без этого можно, но очень неудобно. И это уже добавляется руками (корректируются тексты).
Ещё одна удобная штука, которую можно, наверное, сделать стандартно – обязательной, но которую тоже генераторы текстов не делают. В передвижках я этого не делала. Выглядит это так:
07.gif
Синие заголовки это ссылки, меняющие сортировку (по возрастанию или убыванию) по конкретной колонке. Любой уважающий себя программный продукт такое имеет, это удобно.
Что касается конкретного продукта, то кроме отсутствия справочников там присутствует много хлама. До Интернетовского клиента там был Access-овский клиент. Когда клиент менялся, там в базе создавались примерно такие же но, всё-таки другие хранимые процедуры для работы с информацией. Так они там до сих пор и лежат (хоть и не используются). Новая программная «мода» привела к тому, что запросы генерирует клиент и хранимые процедуры почти не нужны. Если переход на новый вариант состоится то можно будет основательно почистить базу (но пока там внутри куча давно не нужного).
Кроме того написанное иногда создаёт впечатление что писано было в пьяном виде:
08.gif
Имя переменно «qqq» это уже последняя стадия))), но «i» и «ibase» тоже не намного лучше. Когда конкретно это писалось было два вопроса «Как тут это (элементарное) писать?» и «Как тут это лучше делать?». Именно поэтому qqq попало в комментарий (не стёрто чтобы не потерять ценную информацию о том как тут вообще создавать ни к чему не привязанные списки), а сам вариант диалога был выбран другой (потому что в этой среде так проще делать а трудоёмкость с интуитивностью не хуже).
И тут много где примерно также написано, хотя это, так сказать, не мой стиль)).
Осталось добавить, что то, что не сгенерировал генератор, срисовано (во-многом) со стандартного примера (ContosoUniversity):
https://docs.microsoft.com/ru-ru/aspnet/core/data/ef-mvc/intro?view=aspnetcore-2.2

Генераторы могут генерировать тексты для связанных таблиц. Например, шапка документа (номер, дата) и список строк документа. Как-то он это, даже делает, насколько поняла. В примере, вроде есть, но я не разбиралась (сделала руками). А может и этот инструмент полезен.

 

 

 

 

 

Просмотров: 173 | Добавил: akostina76 | Рейтинг: 0.0/0
Всего комментариев: 0
Имя *:
Email *:
Код *:
Форма входа
Поиск
Календарь
«  Июль 2019  »
ПнВтСрЧтПтСбВс
1234567
891011121314
15161718192021
22232425262728
293031
Архив записей
Друзья сайта
  • Официальный блог
  • Сообщество uCoz
  • FAQ по системе
  • Инструкции для uCoz
  • Copyright MyCorp © 2024
    Бесплатный конструктор сайтов - uCoz