Closed erm0l0v closed 6 years ago
А так ли нам нужны dtos файлы? Объединить интерфейсы и модели в файл models.py
не получится?
Ну тут идея PR была как раз в том чтобы разделить интерфейсы и модели: Интерфейсы ничего не знают о ресолверах, потому могут ссылаться друг на друга как хотят Из-за того что интерфейсы не ссылаются ни на какие части приложения мы можем ссылаться на любой интерфейс без проблем кросс-импорта.
Как вариант, вместо отделения интерфейсов мы можем решить эту проблему так: В ресолвер передается аргумент info где содержится тип, который должен вернуть этот ресолвер, мы можем просто вытягивать этот тип из info и никаких кросс импортов не будет.
dtos.py
напоминает мне джаву. если у нас в этом файле только интерфейсы, то почему его не назвать interfaces.py
?
меня еще немного смущает тот факт, что классы в резолверах – это не резолверы на самом деле, а реальные graphql типы, которые реализуют в себе интерфейсы и хранят в себе еще и резолверы.
Varian of code splitting with interfaces.
I splitted code on 2 sub apps:
clans
server_info
Each app contains 2 main part:
dtos
(Data transfer objects) - module with interfacesresolvers
- implementation of interfaces from dtos