static void Main(string[] args) { var video = new Video() { Title = "Video 1" }; var videoEncoder = new VideoEncoder(); //publisher var mailService = new MailService(); //subscriber var messageService = new MessageService(); //subscriber videoEncoder.VideoEncoded += mailService.OnVideoEncoded; // making the subscription videoEncoder.VideoEncoded += messageService.OnVideoEncoded; videoEncoder.Encode(video); }
static void Main(string[] args) { var video = new Video() { title = "Kimi no Nawa" }; var videoEncoder = new VideoEncoder(); // Publisher var mailService = new MailService(); // Subscriber (optional karna bisa buat method langsung di kelas ini) var messageService = new MessageService(); // Add new Subscriber videoEncoder.VideoEncoded += mailService.OnVideoEncoded; // Mendaftarkan subscriber videoEncoder.VideoEncoded += messageService.OnVideoEncoded; // Mendaftarkan subscriber baru videoEncoder.Encode(video); Console.WriteLine("Done"); Console.ReadLine(); }
static void Main(string[] args) { var video = new Video() { title = "Video 'A'" }; var videoEncoder = new VideoEncoder(); //publisher var mailService = new MailService(); //subscriber var textMessageService = new TextMessageService(); //subscriber //OnVideoEncoded is reference to the mail service method... //just like multicast delegate videoEncoder.VideoEncoded += mailService.OnVideoEncoded; videoEncoder.VideoEncoded += textMessageService.OnVideoEncoded; videoEncoder.Encode(video); }