2016-12-28 5 views
0

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

В этой ситуации есть объект Server, переданный как объект-клиент, методы, которые мне интересны, прекрасно подходят для манипулирования кем-либо.

В таких случаях, должен ли я всегда использовать методы на стороне клиента, чтобы снять часть нагрузки с сервера и сохранить код сервера коротким? Или я должен повторно получать объект с сервера и использовать методы на стороне сервера на объекте, когда это возможно, чтобы убедиться, что возвращаемые результаты всегда одинаковы? Каков путь рельсов?

Я не беспокоюсь о том, какой путь займет больше времени, но какой способ лучше?

+1

Можете привести конкретный пример? Это действительно зависит и отличается от случая к случаю. – akuhn

+0

Я не ищу конкретный случай, мне просто интересно, если у меня действительно есть возможность использовать методы на стороне клиента или сервера на одном и том же объекте без какого-либо вреда, который я должен использовать? –

+2

Угадайте, что я отвечаю. Независимо от того, что вы предпочитаете и имеет смысл для своего проекта. Возможно, этот вопрос лучше подходит для http://softwareengineering.stackexchange.com – akuhn

ответ

4

Принять подтверждение в качестве примера. Нормальная система должна иметь (по крайней мере) 3 уровня проверки:

  • Client
  • сервера
  • Database

Все три уровня должны производить тот же результат для части данные. Проверка клиента просто помогает улучшить UX, а не заменяет проверку сервера и базы данных.

+1

Благодарим вас за упоминание валидации, я никогда не слышал об этом термине до –

+0

Можете ли вы объяснить, что именно вы подразумеваете под «Все три уровня должны давать один и тот же результат для части данных», поэтому что вы имеете в виду, если у меня есть метод на стороне сервера, который что-то делает, у меня должно быть что-то на стороне клиента, которое делает то же самое? –

+0

Ну, вы, должно быть, сделали проверку электронной почты тысячу раз. На клиенте у вас есть регулярное выражение Javascript для проверки строки электронной почты. Это улучшает UX, пользователи могут быстро исправить ошибку ввода. Когда проверка прошла, вы отправляете данные на сервер. На сервере, когда вы получаете строку электронной почты, у вас есть код сервера, чтобы снова проверить этот адрес, потому что вы никогда не должны доверять тому, что мы получаем от клиента. Когда проверка сервера прошла, вы помещаете данные в базу данных. Там могут быть некоторые ограничения или триггеры или хранить процедуры для повторной проверки строки электронной почты. – vothaison