Kerangka Materi
Dari Keterampilan Bahasa ke Desain Solusi
- Fitur C# lanjutan dan implikasi desainnya.
- Mempulihkan niat desain dari kode yang ada.
Analisis Kebutuhan dan Pemodelan Domain
- Studi kasus, user stories, dan kriteria penerimaan.
- Model domain dan bahasa universal.
Prinsip Desain Perangkat Lunak
- Prinsip SOLID yang diterapkan pada solusi .NET.
- Kopling, kohesi, dan arah dependensi.
Pola Desain untuk Aplikasi .NET
- Seleksi pola kreasi, struktural, dan perilaku.
- Pola dan anti-pola dalam kode yang ada.
Gaya Arsitektur dan Pengambilan Keputusan Teknis
- Perbandingan arsitektur berlapis, heksagonal, dan bersih.
- Rekaman keputusan arsitektur dan analisis trade-off.
Perencanaan Struktur Solusi
- Organisasi solusi dan proyek untuk basis kode besar.
- Monolit modular versus batas berorientasi layanan.
C# Modern untuk Kode yang Dapat Dipelihara
- Pattern matching, records, dan jenis referensi nullable.
- Generics, LINQ, dan komposisi fungsional.
Penanganan Pengecualian, Pencatatan Log, dan Observabilitas
- Strategi pengecualian dan kontrak error.
- Pencatatan log terstruktur, korelasi, dan pemeriksaan kesehatan.
Refleksi, Atribut, dan Metaprogramming
- Desain berbasis atribut dan penggunaan kasus refleksi.
- Generator sumber dan pembuatan kode pada saat kompilasi.
Dasar-Dasar ASP.NET Core
- Model hosting, injeksi dependensi, dan konfigurasi.
- Saluran permintaan, middleware, dan filter.
Merancang REST API
- Pemodelan sumber daya dan semantik HTTP.
- Versioning, validasi, dan respons error.
- Kontrak API dengan OpenAPI.
Menamankan Aplikasi .NET
- Autentikasi dan otorisasi dengan OpenID Connect.
- Otorisasi berbasis kebijakan dan manajemen rahasia.
Pemodelan Ancaman dan Desain Aman
- Pemodelan STRIDE dan batas kepercayaan.
- Tinjauan desain aman sebelum implementasi.
Akses Data dengan Entity Framework Core
- Pemodelan entitas dan hubungan.
- Masa hidup DbContext dan strategi migrasi.
Kinerja Query dan Arsitektur Data
- Strategi pemuatan dan jebakan eager loading.
- Transaksi, token konkurensi, dan menghindari EF.
Konkurensi dan Pemrograman Asinkron
- Tasks, TPL, dan jebakan async/await.
- Sinkronisasi, pembatalan, dan keamanan thread.
Optimasi Kinerja
- Profiling dan benchmarking dengan BenchmarkDotNet.
- Memori, alokasi, dan pengumpulan sampah.
- Strategi caching dan pengujian beban.
Strategi Pengujian Lintas Lapisan
- Batas pengujian unit, integrasi, dan end-to-end.
- Arsitektur yang dapat diuji dan test doubles.
Deployment dan Kesiapan Operasional
- Wadah, konfigurasi, dan pipeline CI/CD.
- Diagnostik produksi dan keamanan rilis.
Capstone: Tinjauan Desain dan Implementasi
- Tinjauan arsitektur aplikasi kasus.
- Implementasi dan refactoring potongan fitur.
Persyaratan
- Pengalaman memrogram dalam C#
- Pengetahuan praktis tentang pemrograman berorientasi objek
- Pengetahuan dasar tentang SQL dan basis data relasional
Audience
- Pengembang .NET
- Insinyur perangkat lunak dan ketua teknis
- Pengembang yang beralih ke peran desain aplikasi
Testimoni (4)
Pelatihan dilakukan secara 1-on-1 sehingga disesuaikan dengan kebutuhan spesifik saya. Shane menyoroti elemen-elemen WPF/C# yang dapat berpotensi bermanfaat untuk proyek pengembangan saya.
Warren Nolan - Northrop Grumman
Kursus - Programming in WPF
Diterjemahkan Mesin
Pengetahuan, keterlibatan, dan hubungan baik instruktur
Adam Kuklewski - GE Medical Systems Polska
Kursus - Technical Architecture and Patterns
Diterjemahkan Mesin
Penjelasan dan interaktivitas instruktur benar-benar membawa materi dengan baik; meskipun mungkin saya kurang berpengalaman, saya tetap belajar banyak dari pelatihan ini!
Pieter Bruynseels - Spot Buy Center BV
Kursus - Design Patterns
Diterjemahkan Mesin
Ramah dan menyenangkan. Sangat berpengetahuan. Akan merekomendasikan Shane kepada yang lain.
Joshua - California State University Bakersfield
Kursus - Programming in C# with Visual Studio 2022
Diterjemahkan Mesin