| 
 | 
| 
 
Rest. А как реализуются методы с логикой сложнее чем Добавить/Удалить ? 
 | 
|||
|---|---|---|---|
| 
 #18+ 
    
  softwarerА REST - это транспорт. REST это абсолютно совершенно точно не транспорт . Давайте, раз уж вы так рьяно пытаетесь отделить тёплое от мягкого, не вносить сумятицу и не вводить в заблуждение людей. REST это архитектурный стиль, нужен в первую очередь, как и любые другие архитектурные принципы, упростить решение задачи. Транспорт сам по себе не является средством для упрощения задачи. Он либо есть и задача решается. Либо его нет и задача не решается. Тут уже давайте без демагогии. ...  | 
|||
| 
 : 
 Нравится:
      
  Не нравится:
      
  
   | 
|||
| 27.05.2018, 20:44 | 
  
  
  
   | 
||
| 
 
Rest. А как реализуются методы с логикой сложнее чем Добавить/Удалить ? 
 | 
|||
|---|---|---|---|
| 
 #18+ 
    
  softwarer2. Скорее всего, это будет запрос GET. Но если список длинный или параметры сложные, можно и POST, приложению без разницы. И это уже будет не REST. Хотя вы можете назвать свой подход как угодно, хоть методом радужного пони. Жаль остальной мир вас не поймёт. ...  | 
|||
| 
 : 
 Нравится:
      
  Не нравится:
      
  
   | 
|||
| 27.05.2018, 20:55 | 
  
  
  
   | 
||
| 
 
Rest. А как реализуются методы с логикой сложнее чем Добавить/Удалить ? 
 | 
|||
|---|---|---|---|
| 
 #18+ 
    
  hVosttREST это абсолютно совершенно точно  не транспорт .  Хорошо, полностью: в описываемой системе REST - это транспорт. hVosttREST это архитектурный стиль, нужен в первую очередь, как и любые другие архитектурные принципы, упростить решение задачи. Для того, чтобы упростить решение задачи, задача должна соответствовать возможностям и ограничениям стиля. Задача автора - строго противоположна философии "архитектурного стиля REST". hVosttИ это уже будет не REST. Зато это работает без дурацких проблем с длиной GET-запросов. hVosttЖаль остальной мир вас не поймёт. Это его проблемы. ...  | 
|||
| 
 : 
 Нравится:
      
  Не нравится:
      
  
   | 
|||
| 27.05.2018, 21:48 | 
  
  
  
   | 
||
| 
 
Rest. А как реализуются методы с логикой сложнее чем Добавить/Удалить ? 
 | 
|||
|---|---|---|---|
| 
 #18+ 
    
  softwarerhVosttREST это абсолютно совершенно точно  не транспорт .  Хорошо, полностью: в описываемой системе REST - это транспорт. Это на какой планете, Катрук? softwarerhVosttИ это уже будет не REST. Зато это работает без дурацких проблем с длиной GET-запросов. hVosttЖаль остальной мир вас не поймёт. Это его проблемы. Если адекватный специалист придёт на собеседования, а там ему скажут «у нас REST», но REST-ом там не пахнет, он поймёт, что там работают какие-то чукчи, развернётся и уйдёт. Поэтому проблем никаких нет. softwarerДля того, чтобы упростить решение задачи, задача должна соответствовать возможностям и ограничениям стиля. Задача автора - строго противоположна философии "архитектурного стиля REST". REST не панацея. ...  | 
|||
| 
 : 
 Нравится:
      
  Не нравится:
      
  
   | 
|||
| 27.05.2018, 23:01 | 
  
  
  
   | 
||
| 
 
Rest. А как реализуются методы с логикой сложнее чем Добавить/Удалить ? 
 | 
|||
|---|---|---|---|
| 
 #18+ 
    
  hVosttREST не панацея. это просто набор слов ...  | 
|||
| 
 : 
 Нравится:
      
  Не нравится:
      
  
   | 
|||
| 28.05.2018, 00:36 | 
  
  
  
   | 
||
| 
 
Rest. А как реализуются методы с логикой сложнее чем Добавить/Удалить ? 
 | 
|||
|---|---|---|---|
| 
 #18+ 
    
  ViPRoshVosttREST не панацея. это просто набор слов Ну так надо предметно обсуждать. У топикастера REST асоциируется с CRUD. Шаг вправо, шаг влево -- расстрел. SomeQuestionsНо как в Rest укладываются задачи сложнее чем базовые команды Добавить/Удалить ? Что если требуется реализовать логику, к примеру, "найти все документы где создателем являлись пользователи из переданного списка и скопировать их на FTP". Как такую задачу впихнуть в подход Rest ? Как должен здесь, допустим, называться метод в в классе? Хрен с ним с REST-ом. FindDocumentsFromListAndCopyToFtp(list) ? Примерно как, в каком магазине купить кроссовки и сколько соли класть в борщ. ...  | 
|||
| 
 : 
 Нравится:
      
  Не нравится:
      
  
   | 
|||
| 28.05.2018, 01:40 | 
  
  
  
   | 
||
| 
 
Rest. А как реализуются методы с логикой сложнее чем Добавить/Удалить ? 
 | 
|||
|---|---|---|---|
| 
 #18+ 
    
  softwarerТак вот, к чему это всё. Эти Ваши "контроллеры" - они где-то дальше, это тот уровень, который обрабатывает запросы. А REST - это транспорт. Просто один из. Завтра я могу реализовать другой транспорт, какой-нибудь прости господи SOAP, а послезавтра и вовсе считывать запросы из файликов на дискетах - это никак не повлияет на бизнес-логику. Просто добавятся источники для очереди запросов. +1, никто собственно не мешает создать endpoint с названием document/findallcopytoftp и запихать туда описываемую логику, это будет работать на web api, и протокол тут только транспорт и ничего более, легкий и удобный. Это однако не будет укладываться в пропагандируемую пуристами идею о get/post/put/delete ресурса, которую они считают неотьемлемой частью данной реализации. ...  | 
|||
| 
 : 
 Нравится:
      
  Не нравится:
      
  
   | 
|||
| 28.05.2018, 01:48 | 
  
  
  
   | 
||
| 
 
Rest. А как реализуются методы с логикой сложнее чем Добавить/Удалить ? 
 | 
|||
|---|---|---|---|
| 
 #18+ 
    
  StalkerSникто собственно не мешает создать endpoint с названием document/findallcopytoftp и запихать туда описываемую логику, это будет работать на web api Никто и не мешает. Никто не мешает так-то говнокодить, писать такой код, который кроме автора понять практически невозможно и поддерживать дороже, чем все переписать с нуля. Собственно так зачастую и делается. StalkerSЭто однако не будет укладываться в пропагандируемую пуристами идею о get/post/put/delete ресурса, которую они считают неотьемлемой частью данной реализации. Всё верно. Долбанные пропагандисты. Пропагандируют ещё какие-то тупые методики, принципы, SOLID, DRY, KISS, совсем больные на голову. Книги пишут, их кто-то вообще читает? Вот тупицы. Понапридумывают всякого, а мы тут разгребай. Козлы! ...  | 
|||
| 
 : 
 Нравится:
      
  Не нравится:
      
  
   | 
|||
| 28.05.2018, 02:09 | 
  
  
  
   | 
||
| 
 
Rest. А как реализуются методы с логикой сложнее чем Добавить/Удалить ? 
 | 
|||
|---|---|---|---|
| 
 #18+ 
    
  SomeQuestionsдавайте определимся ? Вы против того, чтобы были методы мало мальски сложные ? Запрещено иметь методы "скопируй документы пользователей, которые ты должен найти по такому то фильтру в справочнике юзеров" ? Правильней разбить это на 2 метода - один должен получить список ID документов, а другой уже копировать ? Я то не против. Просто, если "не делить" методы, то высока вероятность появления God Object. А че? Норм же. Был на проекте у которого был метод в несколько тысяч строк. То же не хотели делить. Удобно же! Вся логика в одном методе :-) ...  | 
|||
| 
 : 
 Нравится:
      
  Не нравится:
      
  
   | 
|||
| 28.05.2018, 10:03 | 
  
  
  
   | 
||
| 
 
Rest. А как реализуются методы с логикой сложнее чем Добавить/Удалить ? 
 | 
|||
|---|---|---|---|
| 
 #18+ 
    
  Продублирую. SomeQuestionsНо как в Rest укладываются задачи сложнее чем базовые команды Добавить/Удалить ? Что если требуется реализовать логику, к примеру, "найти все документы где создателем являлись пользователи из переданного списка и скопировать их на FTP". Как такую задачу впихнуть в подход Rest ? при REST подходе Вы должны описать задачу на отсылку документов на FTP в виде объекта и POST-ом добавить этот объект в очередь. Вернётся некий идентификатор задачи по которому Вы сможете GET-ом отслеживать её состояние, или DELETE-ом снять задачу. Логика при этом остаётся в виде Добавить/Удалить, но это же на самом деле не логика. ...  | 
|||
| 
 : 
 Нравится:
      
  Не нравится:
      
  
   | 
|||
| 28.05.2018, 10:28 | 
  
  
  
   | 
||
| 
 
Rest. А как реализуются методы с логикой сложнее чем Добавить/Удалить ? 
 | 
|||
|---|---|---|---|
| 
 #18+ 
    
  skyANAВернётся некий идентификатор задачи по которому Вы сможете GET-ом отслеживать её состояние, или DELETE-ом снять задачу. Логика при этом остаётся в виде Добавить/Удалить, но это же на самом деле не логика. Угу. Коллега хВостт обижается, когда эта не логика названа транспортом :) ...  | 
|||
| 
 : 
 Нравится:
      
  Не нравится:
      
  
   | 
|||
| 28.05.2018, 10:35 | 
  
  
  
   | 
||
| 
 
Rest. А как реализуются методы с логикой сложнее чем Добавить/Удалить ? 
 | 
|||
|---|---|---|---|
| 
 #18+ 
    
  mad_nazgulБыл на проекте у которого был метод в несколько тысяч строк.ну ты в крайности то не бросайся. Дешевый довод. ...  | 
|||
| 
 : 
 Нравится:
      
  Не нравится:
      
  
   | 
|||
| 28.05.2018, 10:46 | 
  
  
  
   | 
||
| 
 
Rest. А как реализуются методы с логикой сложнее чем Добавить/Удалить ? 
 | 
|||
|---|---|---|---|
| 
 #18+ 
    
  softwarerskyANAВернётся некий идентификатор задачи по которому Вы сможете GET-ом отслеживать её состояние, или DELETE-ом снять задачу. Логика при этом остаётся в виде Добавить/Удалить, но это же на самом деле не логика. Угу. Коллега хВостт обижается, когда эта не логика названа транспортом :) По определению REST - это просто способ организации взаимодействия между независимыми системами, или компонентами системы. Теоретически, он не привязан к какому-либо транспорту, обеспечивающему это взаимодействие. ...  | 
|||
| 
 : 
 Нравится:
      
  Не нравится:
      
  
   | 
|||
| 28.05.2018, 10:53 | 
  
  
  
   | 
||
| 
 
Rest. А как реализуются методы с логикой сложнее чем Добавить/Удалить ? 
 | 
|||
|---|---|---|---|
| 
 #18+ 
    
  Petro123mad_nazgulБыл на проекте у которого был метод в несколько тысяч строк.ну ты в крайности то не бросайся. Дешевый довод. Это не крайность, а суровая правда жизни. Можно сделать метод, который имеет несколько зон ответственности. Но как я и говорил, это вопрос холиварный. По мне чем меньше модули, тем лучше. Кому-то удобнее, когда весь блок логики находится в одном месте, а не размазан, на несколько методов/классов. Можно делать и так, и так. Просто надо оценивать "чем мы платим". ...  | 
|||
| 
 : 
 Нравится:
      
  Не нравится:
      
  
   | 
|||
| 28.05.2018, 11:38 | 
  
  
  
   | 
||
| 
 
Rest. А как реализуются методы с логикой сложнее чем Добавить/Удалить ? 
 | 
|||
|---|---|---|---|
| 
 #18+ 
    
  hVosttКозлы! А ведь и правда, козлы. Суть науки в системности, а разрозненные и разбросанные по разным сайтам случайным образом "изобретённые" новомодные аббревиатуры представляют из себя противоположность системы, то есть просто хаос. Хотя буду благодарен, если кто-то кинет ссылкой на хоть сколько-нибудь систематизированное изложение всего этого супа из модных букв и слов. Но подозреваю - не дождусь. ...  | 
|||
| 
 : 
 Нравится:
      
  Не нравится:
      
  
   | 
|||
| 28.05.2018, 11:49 | 
  
  
  
   | 
||
| 
 
Rest. А как реализуются методы с логикой сложнее чем Добавить/Удалить ? 
 | 
|||
|---|---|---|---|
| 
 #18+ 
    
  mad_nazgulПросто надо оценивать "чем мы платим". Временем своей жизни. ...  | 
|||
| 
 : 
 Нравится:
      
  Не нравится:
      
  
   | 
|||
| 28.05.2018, 11:49 | 
  
  
  
   | 
||
| 
 
Rest. А как реализуются методы с логикой сложнее чем Добавить/Удалить ? 
 | 
|||
|---|---|---|---|
| 
 #18+ 
    
  mad_nazgulМожно делать и так, и так. Просто надо оценивать "чем мы платим". Платим временем разработки. Чем больше всяких классов и методов тем больше времени, особенно на обработку исключений (иногда это фуфло становится больше чем сама логика). Грят, типа потом выигрываем в сопровождении - да нифига подобного. Целостный алгоритм читается и воспринимается лучше, чем огрызки обернутые вспомогательной логикой (обычно не сразу понятные). После появления регионов в VS я стараюсь написать метод только тогда, когда этот метод можно использовать еще где то. ...  | 
|||
| 
 : 
 Нравится:
      
  Не нравится:
      
  
   | 
|||
| 28.05.2018, 12:05 | 
  
  
  
   | 
||
| 
 
Rest. А как реализуются методы с логикой сложнее чем Добавить/Удалить ? 
 | 
|||
|---|---|---|---|
| 
 #18+ 
    
  alex55555mad_nazgulПросто надо оценивать "чем мы платим". Временем своей жизни. +1 ...  | 
|||
| 
 : 
 Нравится:
      
  Не нравится:
      
  
   | 
|||
| 28.05.2018, 12:08 | 
  
  
  
   | 
||
| 
 
Rest. А как реализуются методы с логикой сложнее чем Добавить/Удалить ? 
 | 
|||
|---|---|---|---|
| 
 #18+ 
    
  hVosttВсё верно. Долбанные пропагандисты. Пропагандируют ещё какие-то тупые методики, принципы, SOLID, DRY, KISS, совсем больные на голову. Книги пишут, их кто-то вообще читает? Вот тупицы. Понапридумывают всякого, а мы тут разгребай. Козлы! им бы поучиться у других сначала программируем всего то 100 лет есть и другой опыт например - лучшая технология в формообразовании - литье! - лучший способ соединения - неразъемное! - лучшая деталь - отсутствие ее! … но фулеры про эти вещи нифига не знают ...  | 
|||
| 
 : 
 Нравится:
      
  Не нравится:
      
  
   | 
|||
| 28.05.2018, 12:38 | 
  
  
  
   | 
||
| 
 
Rest. А как реализуются методы с логикой сложнее чем Добавить/Удалить ? 
 | 
|||
|---|---|---|---|
| 
 #18+ 
    
  mad_nazgul, Метод размером с экран. Если ты о размере. ...  | 
|||
| 
 : 
 Нравится:
      
  Не нравится:
      
  
   | 
|||
| 28.05.2018, 13:01 | 
  
  
  
   | 
||
| 
 
Rest. А как реализуются методы с логикой сложнее чем Добавить/Удалить ? 
 | 
|||
|---|---|---|---|
| 
 #18+ 
    
  ViPRosmad_nazgulМожно делать и так, и так. Просто надо оценивать "чем мы платим". Платим временем разработки. Чем больше всяких классов и методов тем больше времени, особенно на обработку исключений (иногда это фуфло становится больше чем сама логика). Обработка исключений нужна, там где она нужна. Скорее всего на endpoint'е Во всех остальных методах, можно/нужно явно прописать те исключения, которые может выкинуть метод. Т.е. исключение это нормальный результат метода. По мне пусть метод честно выкинет исключение с полным стектрейсом, чем "обработает" его. А мне потом гадать, какого фига результат не тот, который мне нужен. Прецеденты были. ViPRosГрят, типа потом выигрываем в сопровождении - да нифига подобного. Целостный алгоритм читается и воспринимается лучше, чем огрызки обернутые вспомогательной логикой (обычно не сразу понятные). Выигрываем. Т.к. обычно "чукча не читатель, чукча писатель", то проще не разбираться в полете мысли предыдущего программиста, а просто переписать метод/класс под новые требования. ViPRosПосле появления регионов в VS я стараюсь написать метод только тогда, когда этот метод можно использовать еще где то. Каждый пишет, как ему нравиться. Просто я на своем веку видел столько таких простыней. Начиная с FoxPro и Clipper (где по другому просто нельзя было) Что у меня появилось стойкое убеждение, что так делать лучше не надо. Т.к. потом читать эту простыню трудно. Ну а тесты писать просто невозможно. :-) ...  | 
|||
| 
 : 
 Нравится:
      
  Не нравится:
      
  
   | 
|||
| 28.05.2018, 14:50 | 
  
  
  
   | 
||
| 
 
Rest. А как реализуются методы с логикой сложнее чем Добавить/Удалить ? 
 | 
|||
|---|---|---|---|
| 
 #18+ 
    
  Petro123mad_nazgul, Метод размером с экран. Если ты о размере. С какой экран? Экран в 4К и экран 80x25 символов - это немного разные экраны :-) ...  | 
|||
| 
 : 
 Нравится:
      
  Не нравится:
      
  
   | 
|||
| 28.05.2018, 14:51 | 
  
  
  
   | 
||
| 
 
Rest. А как реализуются методы с логикой сложнее чем Добавить/Удалить ? 
 | 
|||
|---|---|---|---|
| 
 #18+ 
    
  mad_nazgulPetro123mad_nazgul, Метод размером с экран. Если ты о размере. С какой экран? Экран в 4К и экран 80x25 символов - это немного разные экраны :-) У нас у всех прогеров одинаковые. У тебя наверно 80x25 раз спросил)))))) ...  | 
|||
| 
 : 
 Нравится:
      
  Не нравится:
      
  
   | 
|||
| 28.05.2018, 15:17 | 
  
  
  
   | 
||
| 
 
Rest. А как реализуются методы с логикой сложнее чем Добавить/Удалить ? 
 | 
|||
|---|---|---|---|
| 
 #18+ 
    
  mad_nazgulПросто я на своем веку видел столько таких простыней.недавно искал ошибку в методе 850 строк). ...  | 
|||
| 
 : 
 Нравится:
      
  Не нравится:
      
  
   | 
|||
| 28.05.2018, 15:18 | 
  
  
  
   | 
||
| 
 | 

start [/forum/topic.php?fid=33&msg=39650749&tid=1547224]:  | 
    0ms | 
get settings:  | 
    10ms | 
get forum list:  | 
    14ms | 
check forum access:  | 
    4ms | 
check topic access:  | 
    4ms | 
track hit:  | 
    64ms | 
get topic data:  | 
    11ms | 
get forum data:  | 
    3ms | 
get page messages:  | 
    54ms | 
get tp. blocked users:  | 
    1ms | 
| others: | 15ms | 
| total: | 180ms | 

| 0 / 0 | 

    Извините, этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
    
    
    «На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
    
    
    ... ля, ля, ля ...