wgOpenSource / gqlclans

MIT License
1 stars 0 forks source link

Code split version with interfaces #24

Closed erm0l0v closed 6 years ago

erm0l0v commented 6 years ago

Varian of code splitting with interfaces.

I splitted code on 2 sub apps:

Each app contains 2 main part:

frsv commented 6 years ago

А так ли нам нужны dtos файлы? Объединить интерфейсы и модели в файл models.py не получится?

erm0l0v commented 6 years ago

Ну тут идея PR была как раз в том чтобы разделить интерфейсы и модели: Интерфейсы ничего не знают о ресолверах, потому могут ссылаться друг на друга как хотят Из-за того что интерфейсы не ссылаются ни на какие части приложения мы можем ссылаться на любой интерфейс без проблем кросс-импорта.

Как вариант, вместо отделения интерфейсов мы можем решить эту проблему так: В ресолвер передается аргумент info где содержится тип, который должен вернуть этот ресолвер, мы можем просто вытягивать этот тип из info и никаких кросс импортов не будет.

frsv commented 6 years ago

dtos.py напоминает мне джаву. если у нас в этом файле только интерфейсы, то почему его не назвать interfaces.py?

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