Diferença entre as funções 'controller', 'link' e 'compile' ao definir uma diretiva
Alguns lugares parecem usar a função do controlador para lógica de diretiva e outros usam o link. O exemplo de guias na página inicial angular usa o controlador para um e o link para outra diretiva. Qual é a diferença entre os dois?