0
jsmith
06.04.12
✎
11:27
|
Всего мнений: 0
Программирую управляемую форму. Пишу в стиле клиент-сервер. Задался вопросом. Надо ли?
Основное отличие клиента от сервера, как водится, в используемых классах и их возможностях. Классы клиента предназначены для визуализации данных на мониторе. Классы сервера предназначены для вычислений и манипулирования данными. Оговорюсь, что &НаКлиентеНаСервереБезКонтекста я считаю всё-таки &НаСервере (так методологически верней).
Клиент выступает визуальным отображением серверного класса (или просто общего класса, понятия) и использует сервер для 1. чтения данных, 2. вычислений.
Предположим, я произвожу в клиенте какие-то манипуляции с экземпляром серверного класса или тупо каким-то общим объектом.
111. Имею ли я право производить вычисления на клиенте?
Согласно логике - нет. Я должен передать данные клиента на сервер и получить их обратно в готовом виде.
Я имею в виду, что я вообще не имею права использовать директивы типа &НаКлиенте или &НаКлиентеНаСервереБезКонтекста для вычислений. Даже для простых арифметических операций. Это рушит логику взаимодействия клиента и сервера (клиент не должен брать на себя функций сервера).
С другой стороны, это может привести к настолько частым обращениям на севрвер, что программа будет жестоко тормозить.
Хорошо, решаем так. Клиент может делать вычисления. Тогда почему мы так его дискредитируем в использовании серверных классов (таблицы значений, например). Мы говорим вычисляй! Но серверные классы не трожь!
В итоге взаимодействие между клиентом и сервером сводится к следующему
Клиент визуализирует, сервер читает и вычисляет.
Клиент передаёт данные в виде посреднического класса, который одинаково ведёт себя и на клиенте и на сервере. Сервер мутузит эти данные, передаёт обратно. Клиент хавает и показывает их у себя на экране.
Тогда зачем нужна копия формы на сервере??? Ладно, данныеформыколлекция на сервере это не то, что данныеформыколлекция на клиенте. Но всё равно, это понятие клиента, а не сервера..
Короче, баттхёрт
|
|