Bu projede Bir petrol ofisindeki yakıtların satılması, arabaların hangi benzin istasyonundan hangi pompadan ne kadar yakıt aldığını , ne kadar ödeme yaptığını, hangi pompacının hangi aracla ilgilendiğini getirebilmek için proje yapacağız.
Projenin iskeleti için boş bir blank solution üzerine katmanları açıp birbiri ile bağlantılarını ayarlayalım.
Visual Studioyu başalatalım. New Project ile blank solution açalım.
PetrolStation adında projemizi oluşturalım.
Açılan bu solution yapısına katmanlarımızı açamamız gerekiyor. Açmadan önce hangi katmanda hangi işlemleri yapacağımız, hangi klasörlerimzin olacağına değinelim.
1) BLL KATMANI
Burada veritabanındaki verileri için linq sorgulamaları yapacağımız Repositoryler bulunur. Her bir model için ayrı Repo açmamız gerekiyor. Fakat tüm repolar için olabilecek CRUD sorguları için base repo yazıp , diğer spesifik sorgular için açacağımız repoya miras vermemiz gerekiyor. Her repoda surekli aynı sorguları yazmak çok doğru bir yaklaşım olmaz. Burada yazdığımız repository yapılarını start.up dosyasına addScoped olarak bildirmemiz gerektiğini unutmayalım.
2) DAL KATMANI
Bu katmanda context nesnesi bulunuyor. Veritabanı migration işlemleri, veritabanı oluştuğunda içine eklenecek datalar için initializer klasörü altında DataInitializer.cs dosyası altına yazmamız gerekecek.
3) MAP KATMANI
Burada Model katmanındaki modeller üzerinde ayarlamaları yaptığımız yerdir. Modeller içinde db de olmamasını istediğimiz alanlar, validasyonlar, modeller arası ilişkileri tanımladığımız katmandır.
4) MODEL KATMANI
Burada code first ile yazacağımız modellerimiz, UI katmanında veritabanı modellerinden bağımsız kullanacapımız DTO neseneleri, Enum yapılarını kullanacağız.
5) UI KATMANI
Projenin ana yapısıdır. View, Controller, wwroot , admin paneli için Area, Helper, ViewComponent yapılarını tanımlayıp kullandığımız yerdir. Şimdi sırayla basit yapıda tüm katmanları açıp birbirine bağlayalım.
* BLL Katmanının açılması
Solutiona sağ tıklayıp new project tıklayalım.
açılan pencereden classlibrary seçip next ile devam edelim. Burada classLibrary(.net Framework) olanı seçmeyin, core yapısı için aşağıdakini seçmeniz gerekiyor.
İsim olarak genellikle Projeİsmi.BLL verilir. Bu yüzden katmanın adı PetrolStation.BLL olarak belirleyelim.
* DAL Katmanının Açılması
- Solutiona sağ tıklayıp new project tıklayalım.
-Açılan pencereden classlibrary seçip next ile devam edelim.
- Proje ismini PetrolStation.DAL olarak belirleyip next ile katmanı açın.
* MAP Katmanının Açılması
- Solutiona sağ tıklayıp new project tıklayalım.
-Açılan pencereden classlibrary seçip next ile devam edelim.
- Proje ismini PetrolStation.MAP olarak belirleyip next ile katmanı açın.
* MODEL Katmanının Açılması
- Solutiona sağ tıklayıp new project tıklayalım.
-Açılan pencereden classlibrary seçip next ile devam edelim.
- Proje ismini PetrolStation.MODEL olarak belirleyip next ile katmanı açın.
* UI Katmanının Açılması
- Solutiona sağ tıklayıp new project tıklayalım.
-Açılan pencereden ASP.NET Core Empty seçip next ile devam edelim.
- Proje ismini PetrolStation.UI olarak belirleyip next ile katmanı açın.
Buraya kadar tüm katmanlarımız hazır. Tüm katmanların içindeki Default olarak gelen class1.cs dosyalarını silebilirsiniz.
KATMAN REFERANSLARI
Katmanları birbirine referans vermemiz gerekiyor ki haberleşebilsinler. Burada dikkat etmeniz gereken referaslar her zaman tek taraflı olur. Referans vermek için katman ana başlığına sağ tıkla=>Add=> Project Referans=> ilgili katmanları seçip next ile bağlantıyı tamamlıyoruz.
- BLL katmanına referans alacağımız katmanlar: DAL, MODEL
- DAL katmanına referans alacağımız katmanlar: MODEL, MAP
- MAP katmanına referans alacağımız katmanlar: MODEL
- MODEL Katmanının referansı yok
- UI katmanına referans alacağımız katmanlar: BLL, DAL,MODEL
Bu şekilde tüm katmanları bağlayalım, son durumda solution görüntüsü..
Bir sonraki yazıda katmanlara ihtiyacımız olabilecek alanları açıp ayarlamalar yapacağız.
Hiç yorum yok:
Yorum Gönder