$this->app->bind('Interface', 'Class'); типа такого
fx.Provide( fx.Annotate( NewHTTPClient, fx.As(new(HTTPClientInterface)), ) )
придется читать спеки фыхы🥲
а чем это отличается от условного type App struct { db DBInterface api APIInterface } func NewApp(db DBinterface, api APIInterface) *App { return &App{db: db, api: api} } ?
 Евгений
                          Омельченко
                        
                      
                    
                    
                    
                    
                      Автор вопроса
                      
                      
                        
                          Евгений
                          Омельченко
                        
                      
                    
                    
                    
                    
                      Автор вопроса
                    
                    
                  И что это семантически значит-то?
Что можно в качестве типа в конструкторе указать Interface, а вместо него контейнер подсунет класс. Естественно, они должны сходиться.
забиндить интерфейс к классу, и если у нас в конструкторе будет интерфейс, его сунет туда, а потом по интерфейсу я смогу мокать
а поддерживать такой код каково? 😁
ну на пыне нормально оно
 Евгений
                          Омельченко
                        
                      
                    
                    
                    
                    
                      Автор вопроса
                      
                      
                        
                          Евгений
                          Омельченко
                        
                      
                    
                    
                    
                    
                      Автор вопроса
                    
                    
                  Странное утверждение в контексте типичного write once языка
Обсуждают сегодня