Blog
Mert Özen'in yazılım geliştirme, backend, frontend ve DevOps üzerine blog yazıları.
Builder Pattern: Fluent Builder, WebApplicationBuilder ve Object Initializer ile required'ın Yetmediği Yer
required, init ve object initializer çok parametreli constructor'ı okunur kılar ama alanlar arası kuralları, adım sırasını ve parça parça biriken değişmez sonucu çözmez; Builder bu kuralları tek bir Build() anında uygular. Record'da with'in kuralı atlaması, GoF'un director'lı Builder'ı ile fluent builder farkı, UriBuilder, connection string builder, ImmutableArray builder, HostApplicationBuilder ve step builder gerçek çıktılarla.
C# record ve record struct: Value Equality ve with Expression'ı
Derleyicinin record için ürettiği member'lar, with ile kopyalayarak değiştirmek, positional ve nominal record, inheritance'ta EqualityContract, C# 10'un record struct'ı ve record'u ne zaman seçeceğin.
JavaScript Object Koruma ve Immutability: Property Descriptor, seal ve freeze
Property descriptor'ları, Object.defineProperty'nin sinsi varsayılanlarını, preventExtensions, seal ve freeze farkını, shallow ve deep freeze'i ve object'leri değiştirmeden güncelleme pattern'larını örneklerle görüyoruz.