Никак, просто код писать.
fp ? ) 😂
иначе менять работу чаще ;)
И как ты собираешься писать свой код без паттернов? Хуяк-хуяк и в продакшен?
Ну... А вот какие паттерны так вот для питона уж совсем нужны?
Спор про паттерны я думаю не нужен. Всегда лучше знать чем не знать)
Это да, но питонисту зачем — не совсем ясно (мне)
Эм нет, давай так: Допустим у тебя есть апишечка. Как ты будешь делать к ней запросы?
апишечка — это WEB апишечка, или C call level API?
Так, ну и в чём вопрос? Как я буду делать к ней запросы — на HTTP. И не факт, что вообще на питоне.
ну а в код ты этот как упакуешь?
А как это фреймворк реализует — так и упакую. Я вон на Ладоне делал — там вызов API это просто питоновская функция в модуле (или классе — не помню, не очень важно)
какой еще фреймворк?
В котором я работать буду. Ладон, Бутылка, или Джанго.
А при чем здесь они? Может у тебя вообще тонкий клиент и тебе в нем надо чье-то апи утилизировать. Я про это говорю.
Ладно, я не понял тогда. Сори что поднял тему.
Давай тогда я объясню. Допустим у нас есть rest api и мы хотим его утилизировать у себя. Пусть это будет например апи какой-нибудь рекламной площадки и мы хотим в тонком клиенте отображать статистику по рекламным кампаниям. Допустим мы пишем клиент на питоне. Опустим нюансы типа фреймфорка для гуи и просто остановимся на питоне. Итак, как ты собираешься делать запросы в это апи?
что значит в тонком клиенте?
Я собираюсь делать запросы по REQUESTS.
Значит мы только представляем данные, возможно немного доработав их напильником для этого.
хорошо, как именно? просто requests.get/post?
Ну, в первом приближении и так можно. Можно наваять маленькую фукнцию / набор функций / класс чтобы делать однотипные вещи (хер там знает что отдаёт это API) Ну и кстати SWAGGER же есть наверняка — можно им сгенирировать клиента.
И вот я не понимаю — при чём тут паттерны?
> Можно наваять маленькую фукнцию / набор функций / класс Допустим класс. Как ты его организуешь? Просто def get_campaigns(self): return requests.get('/api/campaigns') ?
Ой ну не знаю. надо смотреть на апи это.
ну примерно так?
Да нет, там наверное надо данные кэшировать, а не запрашивать каждый раз, И обрабатывать как-то, оно же (requests.get('/api/campaigns')) выдаёт объект-результат запроса, надо из него данные вытащить, зачем прям вот объект отдавать? Смысла мало. А так не знаю, — надо задаться целью, что эта прослойка делать должна. Видимо, что-то полезное с данными, в терминах предметной области, чтобы клиент класса не думал ни о каком API, ни о каком HTTP
> А так не знаю, — надо задаться целью, что эта прослойка делать должна. На такие вещи и помогает отвечать знание паттернов.
Ну, не согласен, просто наличие мозгов помогает больше. Паттерны можно и самому придумать находу.
> Паттерны можно и самому придумать находу. Так заебись же. Расскажи пожалуйста какие паттерны ты придумал. Мне как интересующемуся архитектурой прям интересно.
Я предумал независимо от его автора virtual self reference , Composite, независимо от ГоФ, чёта ещё дофига всего, не помню.
> virtual self reference Ух ты, а это что такое?
сейчас переведу на GoF...
потому что если это твоя выдумка, то только ты знаешь что это такое.
Не, я потом находил описание.
В общем наверное это декоратор. https://ru.wikipedia.org/wiki/%D0%94%D0%B5%D0%BA%D0%BE%D1%80%D0%B0%D1%82%D0%BE%D1%80_(%D1%88%D0%B0%D0%B1%D0%BB%D0%BE%D0%BD_%D0%BF%D1%80%D0%BE%D0%B5%D0%BA%D1%82%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D1%8F) с динамически меняющейся реализацией каждого метода. Каждый метод имеет параллельную фукнцию, возвращающую объект, реализующий данный метод. Сначала получается этот объект, затем ему перенаправляется вызов метода.
> с динамически меняющейся реализацией каждого метода. Это не декоратор. Это больше похоже на замыкание или какую-то кодогенерацию. > Каждый метод имеет параллельную фукнцию, возвращающую объект, реализующий данный метод. Сначала получается этот объект, затем ему перенаправляется вызов метода. Звучит просто как своего рода dispatch.
Ну, да, не совсем декоратор.
global API_CALL API_CALL = "POST vasya 123 call_api()
Стикер
Обсуждают сегодня