Bir önceki yazımızda Infrasturcure katmanımızı tammalayıp , Application katmanımızı yazmaya başlamıştık bu yazı ile Model ve ModelToEntitiy projelerimizi ekleyip Application katmanımızı bitireceğiz. Okurken ne dinlemeli ?
Model adında bir .Net Core 2.2 Class Library projesi oluşturup Application Solution Folder' ına ekleyelim. Web MVC Uygulamamızı yazarken sayfa için gerekli olan modelleri düşünerek class'larımızı oluşturalım.
Biz Player ekleme sayfasını düşünecek olursak. Username adında bir textbox olmalı, oyuncu kullanıcı adını oluşturarak sisteme kayıt olmalı. Siz buraya şifre doğum tarihi, adres vb. alanlar ekleyebilirsiniz. Basit tutmak adına örneğimiz bu şekilde. Id kolunu ise DB ile alakalı olduğu için buraya eklemiyoruz.
namespace Contract
{
public class PlayerModel
{
public string Username
{ get; set; }
}
}
Sayfa modellerini Entity'e çevirmek(cast) için ModelToEntity projesini de Application katmanında oluşturalım. Ve yine Player sayfası için PlayerMapper sınıfını inceleyelim.
using Contract;
using Entities;
using System;
namespace Mapper
{
public static class PlayerMapper
{
public static Player
ToEntity(this PlayerModel request)
{
var s = new
Player();
s.Username = request.Username;
return s;
}
}
}
Basit tutmak adına örneğimiz bu şekilde. Id kolunu ise DB ile alakalı olduğu için buraya eklemiyoruz. Böylece Application katmanınıda DDD(Domain Driven Design)' e uygun olarak tamamlamış olduk.
Şimdi .Net Core MVC Web projemizi oluşturalım. DDD katmanlarını kullanarak enterprise bir proje oluşturmuş olacağız.
JokerGames projemiz için Player sayfasını tasarlamaya başlayalım bir buton ve username textbox'nını olacağını düşünürsek Application katmanındaki Model library'sini referans alacaktır. MVC projemizi oluşturduğumuzda ilgili senaryoya göre bir sonraki yazımızda Razor View ve HomeController kısmını yazacağız. Böylece DDD katmanlarına uygun bir şekilde web projemiz için alt yapı sağlamış olduk kolayca entegre edilebilir olduğundan bu yapı bir web projesini değil bir Web API'yi de besleyebilirdi.
Uygulama koduna buradan erişebilirsiniz lütfen beğendiyseniz Github'da star vermeyi unutmayın.
İyi günler,
Hoşça kalın.
Uygulama koduna buradan erişebilirsiniz lütfen beğendiyseniz Github'da star vermeyi unutmayın.
İyi günler,
Hoşça kalın.
Hiç yorum yok:
Yorum Gönder