@proGO

Страница 1570 из 1674
Crypt
15.07.2018
23:33:16
наоборот, вроде советуют в него не смотреть

Александр
15.07.2018
23:33:45
ну глянул

Evgeny
15.07.2018
23:33:51
https://github.com/iris-contrib/examples

Александр
15.07.2018
23:33:55
дада

Google
Александр
15.07.2018
23:33:56
https://github.com/iris-contrib/examples/blob/master/routing/main.go

Александр
15.07.2018
23:33:58
видели?

полный треш

Evgeny
15.07.2018
23:36:08
https://github.com/iris-contrib/examples/blob/master/mvc/overview/web/controllers/hello_controller.go

Александр
15.07.2018
23:36:51
и что?

ничего "гениального"

Evgeny
15.07.2018
23:37:04
))

Александр
15.07.2018
23:37:04
я на обычном http так-же оформляю

Evgeny
15.07.2018
23:37:08
суть не в роутах)

Александр
15.07.2018
23:37:24
проблема именно на стыках

Evgeny
15.07.2018
23:37:33
посмотри стек вызова

Александр
15.07.2018
23:37:38
config -> application -> http

Google
Александр
15.07.2018
23:38:24
когда я вижу

app := iris.New() app.Logger().SetLevel("debug") // Load the template files. app.RegisterView(iris.HTML("./web/views", ".html")) // Serve our controllers. mvc.New(app.Party("/hello")).Handle(new(controllers.HelloController))

это пиздец

Evgeny
15.07.2018
23:38:37
ты не туда смотришь)

Александр
15.07.2018
23:38:43
я туда смотрю как раз

как регистрируют роуты и как огранизованы пакеты

Evgeny
15.07.2018
23:39:12
стек вызова сервиса и репозитория и как они к контроллеру привязаны

о чем я выше писал

Александр
15.07.2018
23:39:22
гвоздями

в main экспортируют github.com/iris-contrib/examples/mvc/overview/web/controllers

и дальше через new кормят

Evgeny
15.07.2018
23:41:01
стой стой)

ты не видишь разве?

Crypt
15.07.2018
23:41:33
кто?
https://github.com/avelino/awesome-go/pull/1137

Александр
15.07.2018
23:43:05
я посмотрел базу, прибито гвоздями

как устраены там репозиторий уже фиолетово

"откровение" века прямо

плюс мы конечно получим две пудовые гири на ноги, в виде фрейворка

вообще не вариант

Google
Evgeny
15.07.2018
23:45:56
я не говорю тянуть фреймворк

я говорю про подход

Александр
15.07.2018
23:46:11
а что там инновационного то?

Evgeny
15.07.2018
23:46:22
нет никаких иноваций

остынь)

я дал совет

читай выше

Александр
15.07.2018
23:46:53
ты дал совет как угробить приложения за три простых шага, а я спрашивал про бест практик ?

тащат блин рельсы какие то в Go

я в пыхе такого нахлюпался за 10 лет знаешь сколько?

Evgeny
15.07.2018
23:48:00
берешь круды разбиваешь на сервисы, получается отдельные пакеты которые ты можешь переиспользоваться. А в хендлере у тебя не выходит ~500 строк каждый сервис пробрасываешь в контроллер через интерфейс

а в контроллере у тебя всего одна строчка поторой ты получаешь серилизованную структуру

Evgeny
15.07.2018
23:49:19
о боже)

Crypt
15.07.2018
23:49:21
JSON RPC например

Александр
15.07.2018
23:49:24
ради прекрасного далеко

Crypt
15.07.2018
23:49:25
GRPC

Google
Evgeny
15.07.2018
23:49:28
+

Александр
15.07.2018
23:49:31
так

где я в вводной писал что-то про GPPC?

машина-самолет с возможностью посадки на воду

Evgeny
15.07.2018
23:50:33
где ты их переиспользуешь это уже твое дело) только не говори что ты пишешь приложение которое не соответствует soap

Александр
15.07.2018
23:50:33


Crypt
15.07.2018
23:50:59
один хрен должны быть тонкие контроллеры

Александр
15.07.2018
23:51:16
я обернул бизнесовые сущности в dao

Crypt
15.07.2018
23:51:24
на 500 строк?)

Александр
15.07.2018
23:51:30
контролеры и так тонкие по 1 методу считай дергают дао

Evgeny
15.07.2018
23:51:47
получилось что бизнесовые сущности заперты в dao?

Александр
15.07.2018
23:51:56
они как бы и заперты

я же изолирую базу данных от бизнеса

Evgeny
15.07.2018
23:52:22
тут уже вопрос в расширяемости и в поддержке кода без изменения логики

Александр
15.07.2018
23:53:17
если у нас есть мальчик боб, у которого есть мячи

мы не должны думать об реализации этого в бд

хоть на 100 таблиц, хоть не реаляционное хранилище

у нас есть методы "добавить мяч" "удалить мяч" "убить мальчика"

интерфейсы этого всего это пакет dao

реализация на конкретном хранилище dao_postgres например

Google
Evgeny
15.07.2018
23:56:33
окей теперь пример, ты хочешь переопределить какой то метод потому что приехала новая миграция в базу, при этом ты обновишь пакет, как ты будешь уверен что сервис - X не будет крашится?

Александр
15.07.2018
23:57:10
я просто поправлю реализацию внутри дао

наружу это вообще никак не скажется

dao меняется только в случаи изменении бизнес требований

Evgeny
15.07.2018
23:57:46
но у тебя изменится структура которая возвращает dao что если в миграции проехался alter?

Александр
15.07.2018
23:57:55
не изменится

ты что думаешь я из dao сырую структур возращаю? у меня есть пакет models

там структуры бизнесовые

и про боба и про мячи

как они заполняеются это проблема дао

Evgeny
16.07.2018
00:00:49
Вооот) теперь мы подошли к сути, что теперь приходится затрагивать неприкосаемую сущность

Александр
16.07.2018
00:01:05
поменялась бизнес логика или что?

Evgeny
16.07.2018
00:01:40
ты ведь меняешь пакет

на котором весь бизнес завязан?

значит логика меняется

в общем ладно

я спать

Александр
16.07.2018
00:02:29
еще раз, в каком случаи я его меняю?

Evgeny
16.07.2018
00:03:11
я просто поправлю реализацию внутри дао

Александр
16.07.2018
00:03:22
если ДБА решил поменять базу, я поменяю реализацию бизнеса (трону пакет dao_postgres)

при этом его интерфейс затронут не будет

и возращаемые значения тоже (они в моделях)

Страница 1570 из 1674