Django - Benzersiz Slug Alanları Oluşturma

Normalde slugify fonksiyonu ile metni slug hale getirebiliyoruz. Ancak bu veritabanında bir kontrol yapmıyor elbette. Örneğin, kayıtları veritabanından URL'den gelen slug verisine göre çekecekseniz aynı başlıklı iki post olduğunda her zaman önce ilk ekleneni çekecektir.

C# - Destructors (Yıkıcı Metotlar)

Bir önceki yazıda yapıcı metotlardan bahsetmiştik. Bu yazıda ise yıkıcı metotları inceleyeceğiz. Bunlar bir nesne artık kullanımda olmadığında nesne bellekten temizlenmeden önce çalıştırılan metotlardır. Bu temizleme işlemini Garbage Collector (çöp toplayıcı) mekanizması yapar.

C# - Constructors (Yapıcı Metotlar)

Yapıcı metotlar nesne ilk oluşturulduğunda çalışırlar ve nesneyi bir nevi ilk kullanıma hazırlarlar. Bir sınıftan new anahtar kelimesi ile nesne oluşturulmadığı sürece çalışmazlar. Yapıcı metotlar sınıf ile aynı isme sahiptirler ve geriye bir veri döndürmezler.

C# - Interface (Arayüz) Kavramı

Arayüzler bir sınıfın sahip olması gereken özellikleri tanımlarlar. Arayüz içerisinde kod yazılmaz, sadece özellik ve metot imzaları verilir. Bir arayüzden miras alan sınıf arayüzün tüm metotlarını ezmek zorundadır. Arayüzlerden tıpkı soyut sınıflar gibi nesne referansları oluşturulamaz. Bir sınıf birden fazla arayüzden miras alabilir.

C# - Abstract (Soyut) Sınıf ve Metotlar

Yazdığımız bir sınıftan nesne referansı alınmasını istemediğimiz, yalnızca kalıtım yoluyla türetilmesini istediğimiz zamanlarda abstract anahtar kelimesini kullanırız. Soyut (abstract) olarak tanımlanan metotların ise içi doldurulmaz. Soyut sınıftan türetilen sınıf (derived class) bu metotları implement etmek zorundadır.