두 방식 모두 객체가 서로 종속되지 않고 객체간의 소통을 위해 만들어졌다. 특정 이벤트가 발생하면 원하는 객체에 해당 사항을 전달해서 특정처리를 수행하도록 구성된다.

차이점

Delegate Notification
주로 Protocol을 정의하고 프로토콜을 채택한 객체를 사용한다. 따라서 제 3의 객체가 필요 없다. Notification Center 싱글턴 객체를 기반으로 이벤트의 발생여부를 옵저버를 등록한 객체에게 전달하는 방식으로 구성된다.
이벤트를 1:1로 전달할 때 사용한다 1:N으로 전달할 때 용이하다
많은 줄의 코드를 필요로 하며 많은 객체에게 이벤트를 알리고 싶을 경우 비효율적이다. 다수의 객체에게 손쉽게 이벤드 전달이 가능하다
제 3의 객체를 필수적으로 필요로 하며, key값으로 Notification의 이름을 사용하기 때문에 컴파일 중 구독이 제대로 이루어져있는지 확인할 수 없다는 단점이 존재한다.