|
Логика клиент-сервер. В чём прикол? | ☑ | |||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
0
jsmith
06.04.12
✎
11:27
|
Программирую управляемую форму. Пишу в стиле клиент-сервер. Задался вопросом. Надо ли?
Основное отличие клиента от сервера, как водится, в используемых классах и их возможностях. Классы клиента предназначены для визуализации данных на мониторе. Классы сервера предназначены для вычислений и манипулирования данными. Оговорюсь, что &НаКлиентеНаСервереБезКонтекста я считаю всё-таки &НаСервере (так методологически верней). Клиент выступает визуальным отображением серверного класса (или просто общего класса, понятия) и использует сервер для 1. чтения данных, 2. вычислений. Предположим, я произвожу в клиенте какие-то манипуляции с экземпляром серверного класса или тупо каким-то общим объектом. 111. Имею ли я право производить вычисления на клиенте? Согласно логике - нет. Я должен передать данные клиента на сервер и получить их обратно в готовом виде. Я имею в виду, что я вообще не имею права использовать директивы типа &НаКлиенте или &НаКлиентеНаСервереБезКонтекста для вычислений. Даже для простых арифметических операций. Это рушит логику взаимодействия клиента и сервера (клиент не должен брать на себя функций сервера). С другой стороны, это может привести к настолько частым обращениям на севрвер, что программа будет жестоко тормозить. Хорошо, решаем так. Клиент может делать вычисления. Тогда почему мы так его дискредитируем в использовании серверных классов (таблицы значений, например). Мы говорим вычисляй! Но серверные классы не трожь! В итоге взаимодействие между клиентом и сервером сводится к следующему Клиент визуализирует, сервер читает и вычисляет. Клиент передаёт данные в виде посреднического класса, который одинаково ведёт себя и на клиенте и на сервере. Сервер мутузит эти данные, передаёт обратно. Клиент хавает и показывает их у себя на экране. Тогда зачем нужна копия формы на сервере??? Ладно, данныеформыколлекция на сервере это не то, что данныеформыколлекция на клиенте. Но всё равно, это понятие клиента, а не сервера.. Короче, баттхёрт |
||||||||||
1
Maxus43
06.04.12
✎
11:31
|
убирай уже слово "баттхёрт" из лексикона. в каждой ветке не по разу)
|
||||||||||
2
Mort
06.04.12
✎
11:32
|
4. Кг/Ам
Тонкий клиент не означает, что он и пёрнуть без сервера не может. |
||||||||||
3
Mort
06.04.12
✎
11:35
|
А ноги ограничения на использование ТаблицЗначений и Соответствий имхо растут из ограниченных возможностей WEB клиента.
|
||||||||||
4
jsmith
06.04.12
✎
11:38
|
баттхёрт вообще возник от того, что невозможен обмен экземпляром типа данныеформыэлементколлекции между клиентом и сервером
в принципе давно уже знаю это, но вырабатывая свой стайл программирования, наткнулся вот на этот двойной стандарт ДФК можно, а ДФЭК нельзя |
||||||||||
5
Mort
06.04.12
✎
11:39
|
А вопрос "зачем экземпляр формы на сервере" - достаточно сделать небольшое (хотя кому как) усилие и подумать, откуда форма начинает жизнь.
|
||||||||||
6
SUA
06.04.12
✎
11:39
|
4. Кг/Ам, присоединяюсь
сервер нужен в первую очередь для работы с БД, а не для мелких вычислений. |
||||||||||
7
jsmith
06.04.12
✎
11:39
|
(5) ну дк понятно, но ДФЭК зачем обидели
|
||||||||||
8
SUA
06.04.12
✎
11:40
|
(4) а зачем?
|
||||||||||
9
SUA
06.04.12
✎
11:40
|
добавлять элементы на форму все равно нельзя, а к элементу обратиться и так можно
|
||||||||||
10
Mort
06.04.12
✎
11:40
|
(7) Элемент коллекции это просто итератор, указатель. Без коллекции считай это тупо аналог "DeadBeaf".
|
||||||||||
11
Mort
06.04.12
✎
11:41
|
(9) Кто сказал что нельзя?
|
||||||||||
12
jsmith
06.04.12
✎
11:41
|
(8) затем, что обмен между клиентом и сервером построен на кроссплатформенных классах типа той же структуры
и я не могу понять, для изменения реквизитов объекта мне надо 1. обращаться к серверу на каждом шагу где нужно чтение данных 2. передавать сразу ДФК 3. передавать структуру |
||||||||||
13
SUA
06.04.12
✎
11:42
|
(11)*на клиенте
|
||||||||||
14
jsmith
06.04.12
✎
11:42
|
если я передаю ДФК, то я хочу передавать и ДФЭК
иначе получается двойной стандарт хочешь изменить ДФЭК, передавай структуру хочешь изменить ДФК, используй переменную клиента сервера |
||||||||||
15
jsmith
06.04.12
✎
11:43
|
если в натуре копия формы на сервере висит, почему бы мне не использовать ДФЭК без этих муторных процедур загрузки выгрузки
|
||||||||||
16
jsmith
06.04.12
✎
11:44
|
примечательно, что я могу изменять ДФЭК на сервере, но обмена нету
|
||||||||||
17
Ненавижу 1С
гуру
06.04.12
✎
11:49
|
клиент реагирует на событие юзвера (нажатие кнопки, например) - посылает запрос серверу, получает ответ, обновляет данные
|
||||||||||
18
H A D G E H O G s
06.04.12
✎
11:50
|
Автор дятел какой-то.
Пиши лучше про любовь. |
||||||||||
19
Ненавижу 1С
гуру
06.04.12
✎
11:50
|
(18) да куда уже лучше то? смотри тут какая любовь!
|
||||||||||
20
jsmith
06.04.12
✎
11:51
|
короче, решил не париться, обращаться к ДФЭК через ДФК используя индекс
|
||||||||||
21
H A D G E H O G s
06.04.12
✎
11:51
|
(19) Причина моего негодования не в том, что я вчитал/вкурил партянку в (0), а вот:
http://s.lurkmore.to/images/5/53/11318-131945-5c812c9bc8c08b83a416dccd875eac53.jpg |
||||||||||
22
Ненавижу 1С
гуру
06.04.12
✎
11:53
|
(21) ааа... ну ничего, я тоже, вот что понял, написал в (17)
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |