با سلام خدمت اساتید محترم

از دوستان فرق بین link و controller و compile در Directive ها رو در angularJS یکم توضیح بدهید .

متشکرم