В данный момент я пытаюсь создать полноценный серверный фреймворк HTTP.
Я прочитал книгу под названием "Restful webservices", и это положило начало некоторой работе в этой области.
Теперь у меня есть более полное представление о том, почему ресурсно-ориентированная архитектура - это хорошо, но есть еще размытые части, которые я не могу понять.Я постараюсь объяснить свои мысли и посмотреть, не может ли кто-нибудь сделать меня умнее.
Неужели нельзя сказать, что все является объектом.Автомобиль, ручка, книга и даже абстрактные вещи, такие как идея и концепция, могут быть объектом.Потому что слово «объект» - это просто человеческое изобретение для «чего-то».
Не могли бы вы также сказать, что каждое «что-то» - это ресурс.Монета, компьютер и даже долг могут быть ресурсом.Но вопрос к кому.Долг - это ресурс, но не для того, кто должен, а для того, кому он должен.То же самое с человеческими остатками.Они - ресурсы, но не для нас, а для матери-природы, потому что она требует баланса - внутри и снаружи - основ науки (программирования).
Ресурсы (объекты) кажутся существительными.Как насчет прилагательного и глаголов?На самом деле кажется, что все можно описать с помощью существительных.Например:
- Прилагательное: Автомобиль красного цвета
- Существительное: Автомобиль имеет красный цвет
- Прилагательное: Я устал
- Существительное:У меня усталость
- Глагол: я убиваю его
- Существительное: я создаю убийство
- Глагол: я целую ее
- Существительное: я создаю поцелуй
Это означает, что ресурс = объект = существительное.Одно и то же «что-то» с разных точек зрения.
Может быть, есть глаголы и прилагательные, у которых нет существительного эквивалента, но тогда это лишь недостаток в человеческом языке, а не в самой концепции.
Итак, вернемся к тому, с чего все это началось.
Когда я действительно подумал, что есть только 4 (я знаю, что есть еще несколько) HTTP-глагола - POST, GET, PUT, DELETE - я чувствовал, что это не можетсоздавать мощные релакс-API, потому что они ограничивают API базовыми операциями CRUD.Но после некоторых чтений и размышлений я понял, что все - это просто ресурсы, которые можно создавать, читать, изменять или удалять.Вроде бы и снаружи, простые правила, но все же мощные для создания чего-либо.
Но потом я подумал, что есть только «внутри» и «снаружи».Может быть, есть только «создать» и «удалить».Потому что GET и PUT - это глаголы, которые можно заменить словами «создать чтение» и «создать изменение».
Все это только я играю с идеями основ матери-природы.Вход и выход, создание и удаление.Первый уже широко принят в области программирования.Но последнее вы не слышите об этом слишком много.Но если это правильно, то это означает, что HTTP Restful API можно использовать для создания чего-либо, правильным способом, не взламывая его с помощью модифицированных версий (помещая глаголы в uri, тело запроса и т. Д.), А только используя POST,GET, PUT, DELETE.
Мы просто должны преобразовать все методы в ресурсы / объекты.Вместо:
result = Books.search("Foo");
мы должны подумать:
result = Search.create(Books, "Foo");
Что вы думаете об этом?Имея это в виду, можно ли создавать какие-либо успокоительные API только с четырьмя методами HTTP?Являются ли «создавать» и «удалять» еще один закон природы?