R
Size: a a a
R
AK
ВС
R
AK
AK
AK
AK
ВС
AK
AK
AK
api
внутри пакета album
. Чтобы не было физической возможности запихнуть что то из пакета api
в album
. Т.е. чтобы при такой попытке получалась circular dependency
и ошибка компиляции. Ведь в сервисе там бизнес-логика. Она по хорошему не должна ни чего знать ни о каких http и других механизмах доставки. А в идеале даже не должна иметь возможность их вызвать. Но на самом деле это не так принципиально. Просто в текущей реализации есть вероятность вызвать какую то функцию из файла api.go
в файле service.go
. А такой вариант использования всю архитектуру сразу похоронит.AK
api
внутри пакета album
. Чтобы не было физической возможности запихнуть что то из пакета api
в album
. Т.е. чтобы при такой попытке получалась circular dependency
и ошибка компиляции. Ведь в сервисе там бизнес-логика. Она по хорошему не должна ни чего знать ни о каких http и других механизмах доставки. А в идеале даже не должна иметь возможность их вызвать. Но на самом деле это не так принципиально. Просто в текущей реализации есть вероятность вызвать какую то функцию из файла api.go
в файле service.go
. А такой вариант использования всю архитектуру сразу похоронит.AK
api
внутри пакета album
. Чтобы не было физической возможности запихнуть что то из пакета api
в album
. Т.е. чтобы при такой попытке получалась circular dependency
и ошибка компиляции. Ведь в сервисе там бизнес-логика. Она по хорошему не должна ни чего знать ни о каких http и других механизмах доставки. А в идеале даже не должна иметь возможность их вызвать. Но на самом деле это не так принципиально. Просто в текущей реализации есть вероятность вызвать какую то функцию из файла api.go
в файле service.go
. А такой вариант использования всю архитектуру сразу похоронит.AK
api.go
пишет какую то функцию или создаст структуру, а второй программист через 3 месяца эту функцию или структуру заюзает в service.go
. И через пол года хрен распутаешь.