Orijinal ASP.NET 2002 yılında duyurulmuştur. O süreçten günümüze pek çok değişim ve evrim ile ASP.NET gelişmeye ve büyümeye devam etmiştir.
.NET Core HTTP isteklerini işlemek üzere farklı uygulama türlerinden, yardımcı çerçevelerden (framework) ve platformlardan oluşur.
Şekil 1'de modern .NET Core Stack yapısına yer verilmiştir.
.NET Core MVC, Model-View-Controller (MVC) tasarım modelini kullanarak web uygulamaları oluşturmaya yönelik bir çerçevedir.
MVC, bir uygulamayı üç ana bölüme ayıran bir yazılım mimari modelidir: model (model), görünüm (view) ve denetleyici (controller). Bu model, işlevsellik alanlarının tanımlandığı endişelerin ayrılmasını vurgular.
Bu, web sayfalarının yol açtığı belirsiz mimarilere karşı etkili bir panzehirdir.
MVC temelde;
- Endişelerin ayrılmasına yardımcı olur (seperation of concerns)
- Sorumlulukların ayrılmasına yardımcı olur.
- Kodun sürdürülebilir olmasını sağlar.
- Hata ayıklamayı kolaylaştırır.
- Test edilebilirliği arttırır.
BTK Akademi işbirliği çerçevesinde sizler için ASP.NET Core MVC Eğitimi hazırladık. Bu eğitimi alarak MVC yazılım mimari modelinin uygulanmasını öğrenebilir ve .NET çerçevesinin modern web uygulamaları geliştirmek için nasıl kullanıldığını öğrenebilirsiniz.
-
Giriş
- Genel Bakış
- Projelerin Önizlemesi
- Eğitim İçeriği
-
Temeller
- Giriş
- HTTP Protokolü
- Modern .NET Stack
- dotnet komut Seti
- Visual Studio Çalışma Ortamının Düzenlenmesi
- MVC Proje Şablonu
- Endpoint Yapısını Anlamak
- HTML Rendering Konusu Anlamak
- Özet
-
MVC'ye Genel Bakış
- Giriş
- Proje Oluşturma ve Model Tanımı
- Controller ve View Öğelerinin Oluşturulması
- Model Binding
- Tag Helpers
- Repository (Inmemory)
- Receiving Data
- Model Validation
- Özet
-
Data-Driven Development
- Giriş
- Projenin Oluşturulması
- MVC Şablonunun Uygulanması
- SQLite Kurulumu
- Paket Yönetimi ve Repository Tanımı
- Bağlantı Dizesi
- Migrations
- Dependency Injection
- Inversion of Control
- Özet
-
Layout
- Giriş
- Layout
- Partial View
- libman
- Bootstrap
- Grids
- Özet
-
Repository Pattern
- Giriş
- Entites Project
- Repositories Project
- IRepositoryBase & RepositoryBase
- IProductRepository & ProductRepository
- IRepositoryManager & RepositoryManager
- Category varlığının tanımlanması
-
Services
- Giriş
- Services Project
- IProductService & ProductManager
- ICategory Service & CategoryManager
- IServiceManager & ServiceManager
- Configuration
- Özet
-
ViewComponent
- Giriş
- ViewComponent
- ProductSummaryViewComponent
- CategoriesMenuViewComponent
- Özet
-
Areas
- Giriş
- Admin Area ve Yapılandırılması
- Admin Panelin Düzenlenmesi
- Navbar
- ProductController in Admin Area
- Create
- Retrieve
- Update
- Delete
- Özet
-
AutoMapper
- Giriş
- AutoMapper
- Product ve Category İlişkisinin Kurulması
- ProductDto tanımı
- AutoMapper
- AutoMapper ile Product nesnesinin Güncellenmesi
- Özet
-
Dosyalama İşlemleri
- Giriş
- IFormFile ve Form Düzenlemesi
- İmgeler ile Çalışma
- Sayfa Tasarımının Düzenlenmesi
- Özet
-
Razor Pages
- Giriş
- MVVM Deseni
- Yapılandırma
- Page Model
- Cart Service Tanımı
- Layout Özellikleri
- Özet
-
Session Management
- Giriş
- Session
- Session Extension
- Session Extension Kullanımı
- Session Cart
- CartSummary Widget
- HttpRequest Extension
- Orders
- Complete Orders
- Manager Orders
-
Extensions
- Giriş
- Service Extension
- Auto Migratie
- Showcase
- Localization
- Routing
- FilteredByCategoryId Extension Method
- FilteredBySearchTerm Extension Method
- FilteredByPrice Extension Method
- Özet
-
Tag Helpers
- Giriş
- TagHelper
- TagBuilder
- HtmlAttributeName
- ViewContext
- Pagination
- PageLinkTagHelper
- Özet
-
Identity
- Giriş
- Identity
- Default Admin User
- Login
- Login Menu
- Registration
- AuthService
- CreateUser
- Update User
- Reset Password
- Delete User
- Authorize (Preserving endpoints)
- Application Cookie
- UserRole Tag Helper
- Özet
-
API
- Giriş
- Web API
- Configuration
- Presentation Layer
- Özet
-
Admin Panel
- Giriş
- Login Menu
- Tooltip
- Dashboard
- Showcase
- Notification
- ViewData
- MSSQL Yapılandırması
- Özet
- Yazılım Mühendisliği, Bilgisayar Mühendisliği ya da ilişkili bölümlerde okuyan öğrenciler
- ASP.NET Core çerçevesini öğrenmek isteyenler
- Web sayfası tasarlamak ve programlamak isteyenler
- Web-tabanlı uygulama geliştirmek isteyenler
- .NET Core çerçevesini öğrenir
- MVC yazılım mimari modelini öğrenir
- MVVM desenini öğrenir
- Dinamik web uygulamaları tasarlayabilir ve kodlayabilir
Repoyu bilgisayarınıza indirmek için git kullanabilirsiniz.
git clone https://github.com/zcomert/BTK-Akademi-ASPNET-Core-MVC-Egitimi
Her bölüm kendi içerisinde organize edilerek git üzerinde farklı branch kullanılarak tanımlanmıştır. Bu çerçevede depoda yer alan branch görmek üzere aşağıdaki komutu kullanabilirsiniz.
git branch -a
Bir branch yapısından bir diğerine geçmek üzere aşağıdaki komut setini kullanabilirsiniz.
git checkout <branch_adi>