Escolar Documentos
Profissional Documentos
Cultura Documentos
DIAGRAMS
Closure com typelias, porém continua sendo uma dependência. É uma closure porém é uma interface (signature).
Seta fechada significa dependência concreta. Dependencia como reference. Strong reference.
Closure em Swift são reference type.
DIAGRAMS
Substituindo a Closure por um protocolo. Como é um protocolo nós precisamos invocar a função. E o diagrama
permanece o mesmo.
Um protocolo com um método pode sempre ser substituído por uma closure.
DIAGRAMS
Implementando o protocolo FeedLoader. Classe RemoteFeedLoader, que pode estar em outro módulo (cor diferente).
Setar tracejada significa que a classe RemoteFeedLoader conforma com o protoloco/interface FeedLoader.
DIAGRAMS
Implementação diferente do protocolo FeedLoader. Poderia ser um cache, um JSON, ou cenário de não ter internet.
DIAGRAMS
Cenário para verificar a conexão com a internet. Inserindo as classes (dependências) concretas na ViewController.
Para termos um cenário com o mesmo comportamento, podemos encapsular a lógica de verificar a conexão.
DIAGRAMS
Composable: Como a ViewController conforma com o protocolo FeadLoader podemos fazer com que essa classe nova
também conforme com esse protocolo para que a ViewController se comunique com ele também.
Eu posso setar o loader depois de criar classe VC, para cenários onde eu precise usar Storyboards ou customizações,
custom segues, nibs.