• Buradasın

    C#'da Fluent Builder Pattern ile E-posta Gönderme Eğitimi

    youtube.com/watch?v=uhCTGBf_dJs

    Yapay zekadan makale özeti

    • Bu video, bir eğitmen tarafından sunulan C# programlama dilinde e-posta gönderme işlemini adım adım gösteren bir eğitim içeriğidir.
    • Video, Fluent Builder pattern'in tanıtımıyla başlayıp, Visual Studio 2019 ve .NET Core 3.1 kullanılarak bir e-posta gönderme projesi oluşturma sürecini kapsamaktadır. Eğitmen, mail gönderme işleminin tüm aşamalarını (sender, display name, subject, receiver, attachments, body) Fluent Builder pattern ile nasıl uygulanacağını test drive geliştirme yaklaşımıyla göstermektedir.
    • Eğitim boyunca kod yazımı ve test yazımı birlikte ilerlemekte, SMTP client'ı oluşturma ve e-posta gönderme işlemleri detaylı olarak anlatılmaktadır. Ayrıca extension sınıfı kullanarak e-posta gönderme işlemini daha kolay hale getirme teknikleri de gösterilmektedir.
    00:01Fluent Builder Deseni Tanıtımı
    • Video, C# dilinde mail gönderme işlemini Fluent Builder deseni kullanarak göstermektedir.
    • Fluent Builder, C#'da bir tasarım kalıbıdır ve karmaşık nesneleri adım adım oluşturmanıza olanak tanır.
    • Bu desen, aynı yapı kodunu kullanarak farklı türlerdeki nesneleri üretmenize ve nesnenin oluşturulmasını özelleştirme yöntemlerini içerir.
    00:56Fluent Builder Deseninin Avantajları
    • Fluent Builder, programcıların bir nesnenin nasıl oluşturulduğuna ilişkin ayrıntıları gizlemesini sağlar.
    • Oluşturulan nesnenin dahili temsili değiştirilmesine olanak tanır ve her kurucu diğerlerinden bağımsızdır.
    • Modülerliği geliştirir, diğer oluşturucuların eklenmesini basitleştirir ve nesnelerin oluşturulması üzerinde daha fazla kontrol sağlar.
    01:45Proje Hazırlığı
    • Visual Studio 2019 ve .NET Core 3.1 kullanılarak bir proje oluşturulmaktadır.
    • Proje "Sender" olarak isimlendirilmiş ve test için XUnit testi eklenmiştir.
    • Mail gönderme işlemi için "MailSenderBuilder" adında bir sınıf oluşturulacaktır.
    03:44Mail Gönderme İşleminin Tasarımı
    • Mail gönderme işlemi için "WithSenderMail", "WithDisplayName", "WithSubject", "WithReceivers", "WithBody" ve "Send" metotları oluşturulacaktır.
    • "EmailReceiver" ve "Attachment" adında iki model sınıfı oluşturulacaktır.
    • Mail gönderme işlemi için "WithBody" metodu ile mail içeriği belirlenecektir.
    09:55Mail Gönderme Bilgilerinin Toplanması
    • Mail gönderme için "Credential" sınıfı oluşturulacak ve SMTP host, username ve port bilgileri alınacaktır.
    • "EmailSenderConfiguration" sınıfı oluşturulacak ve sender email, display name, subject, body, email name pair ve receivers bilgileri toplanacaktır.
    • Mail gönderme işlemi için "Send" metodu ile mail gönderilecektir.
    16:36Fluent Builder Deseninin Uygulanması
    • Mail gönderme işlemi için üstten aşağıya doğru inen bir yapı kurulacaktır.
    • "SenderBuilder", "DisplayNameBuilder", "SubjectBuilder", "ReceiverBuilder", "BodyBuilder" ve "SendBuilder" sınıfları oluşturulacaktır.
    • Mail gönderme işlemi için "SendBuilder" sınıfı kullanılarak mail oluşturulup gönderilecektir.
    26:33Mail Gönderme Kodunun Hazırlanması
    • Mail gönderme kodunda attachment (eklenti) sistemi için System.Net.Mail içindeki attachment kullanılıyor.
    • SMTP client'ı oluşturulurken network, sender, credential ve delivery method gibi parametreler belirleniyor.
    • Mail gönderme işlemi için sender name, subject ve content gibi bilgiler ekleniyor.
    32:07Attachment Ekleme Fonksiyonu
    • Attachment eklemek için SendMail class'ına bir extension (withAttachment) ekleniyor.
    • Extension fonksiyonu, maildeki attachment'ı set ederek geri döndürüyor.
    • Bu extension sayesinde mail gönderme kodunda attachment kullanımı kolaylaşıyor.
    35:34Test ve Sonuç
    • Kodun çalışması için breakpoint konularak aşamalar gözden geçiriliyor.
    • Gerçek mail bilgileriyle test yapılıyor ve kendi kendine mail gönderme işlemi gerçekleştiriliyor.
    • Mail başarıyla gönderiliyor ve gelen mail kontrol ediliyor.

    Yanıtı değerlendir

  • Yazeka sinir ağı makaleleri veya videoları özetliyor