- POCO (Plain Old CLR Object)
- C#/.NET'te «sade CLR nesnesi» kısaltması, kısıtlamaları şunlardır: genel varsayılan yapıcı + private alanlar + genel { get; set; } özellikleri + çerçeve bağımlılığı yok. Bu aracın oluşturduğu standart bir POCO'dur.
- record
- C# 9+'da tanıtılan değişmez veri aktarım nesnesi türü, başvuru eşitliği yerine değer eşitliği kullanır. Bu araçta oluşturduktan sonra manuel olarak record olarak değiştirilebilir, DTO'lar, API yanıt modelleri, değişmez yapılandırma gibi senaryolar için uygundur.
- [JsonProperty]
- Newtonsoft.Json'un alan eşleştirme özniteliği. Bu araç varsayılan olarak her alan için [JsonProperty("orijinal anahtar")] ekler, PascalCase alan adlarının snake_case JSON'u doğru şekilde ters serileştirebilmesini sağlar.
- Newtonsoft.Json
- Json.NET olarak da bilinir, .NET ekosistemindeki en popüler JSON kitaplığıdır. En zengin ekosisteme ve en iyi uyumluluğa sahiptir, neredeyse tüm .NET projeleri tarafından desteklenir. ASP.NET Core 3.0'dan önce varsayılan olarak kullanılıyordu, 3.0'dan sonra System.Text.Json ile değiştirildi, ancak yine de NuGet paketi aracılığıyla uyumlu hale getirilebilir.
- System.Text.Json
- .NET Core 3.0+'da yerleşik olarak bulunan yüksek performanslı JSON kitaplığı. Hızlı başlar, düşük bellek kullanır, AOT dostudur, [JsonPropertyName] (Newtonsoft'un [JsonProperty]'ine karşılık gelir) ve özel JsonNamingPolicy adlandırma ilkesini içerir.
- Nullable<T>
- C#'da değer türünün null olabileceğini belirten tür (örneğin long? / bool?). Bu araç, JSON'daki null alanları otomatik olarak Nullable<T> olarak çıkarır, derleme zamanında null başvuru istisnalarını önler.
- List<T>
- .NET koleksiyon çerçevesindeki genel liste türü. Bu araç JSON dizilerini otomatik olarak List<T>'ye dönüştürür, T dizinin ilk öğesinden otomatik olarak çıkarılır (örneğin ["a"] → List<string>).
- namespace
- C#'da sınıfları düzenlemek için kullanılan ad alanı anahtar sözcüğü, Java'daki package'a benzer. Bu araç tarafından oluşturulan kod varsayılan olarak namespace içermez, manuel olarak eklenebilir (örneğin namespace MyApp.Models).
- ASP.NET Core
- Microsoft'un açık kaynaklı çapraz platform web çerçevesi. Bu araç tarafından oluşturulan POCO sınıfları doğrudan ASP.NET Core Controller [FromBody] model bağlama, Minimal API, Blazor bileşen parametreleri gibi senaryolarda kullanılabilir.
- Unity
- Dünyanın en popüler oyun motoru, betik dili C#'dir. Bu araç tarafından oluşturulan POCO sınıfları Unity ağ API yanıt ayrıştırma, ScriptableObject yapılandırma veri modellemesi için kullanılabilir.
- Snake_case → PascalCase
- Alan adlandırma kuralı dönüşümü. snake_case adlandırmasını (örneğin user_name, created_at) PascalCase adlandırmasına (örneğin UserName, CreatedAt) dönüştürme, .NET resmi adlandırma kurallarına uyma.
- quicktype-core
- Bu aracın temel olarak bağımlı olduğu açık kaynaklı çok dilli JSON tür üretim kitaplığıdır (quicktype projesi), C#, Java, TypeScript, Rust, Go, Swift vb. ondan fazla dili destekler, TypeScript + WebAssembly tabanlı olarak tarayıcıda çalışır.
- .NET MAUI
- Microsoft'un çapraz platform UI çerçevesi (.NET Multi-platform App UI), C# kodu iOS/Android/Windows/macOS'ta paylaşılabilir. Bu araç tarafından oluşturulan POCO'lar MAUI'da XAML veri bağlama için Model olarak uygundur.
- Blazor
- Microsoft'un WebAssembly tabanlı SPA çerçevesi, Server ve WebAssembly olmak üzere iki modu vardır. Bu araç tarafından oluşturulan C# sınıfları Blazor bileşen parametreleri, güçlü tür API yanıt modelleri için kullanılabilir, tek dille tam yığın geliştirme verimliliğini artırır.
- HttpClient.GetFromJsonAsync
- .NET 5+/System.Net.Http.Json genişletme yöntemi, HTTP GET + JSON ters serileştirmeyi tek satırda tamamlar. Bu araç tarafından oluşturulan POCO'larla birlikte kullanıldığında HTTP API istemci kodunu önemli ölçüde basitleştirebilir.
- JsonNamingPolicy
- System.Text.Json'da JSON alan adları ile C# özellik adları arasındaki eşleştirme kurallarını kontrol eden sınıf (örneğin CamelCase, SnakeCaseLower). Newtonsoft.Json, [JsonProperty] özniteliği veya ContractResolver aracılığıyla uygulanır.
- IOptions<T>
- .NET Options deseninin temel arabirimi, appsettings.json alt yapısını güçlü tür sınıflarına bağlar. Bu araç tarafından oluşturulan POCO'lar IConfiguration.Bind ile birlikte doğrudan IOptions<T> uygulaması olarak kullanılabilir.