Bir aspnet core web api projesinde ihtiyaç duyulabilecek katmanları ve araçları bir araya getirerek B3.Web.Template.V1 bir proje şablonu hazırlayarak Github üzerinden yayınladım. Şablonu kullanabilmek için, projeyi Github üzerinden indirebilirsiniz.
Proje Katmanları
WebApi layer (B3.WebApi)
Application services layer (B3.Applcation)
Data access layer (B3.EntityFramework)
Domain layer (B3.Domain)
Infrastructure layer (B3.Infrastructure)
Katman ilişki şeması aşağıdaki gibidir.
Template Kullanımı
B3.Web.Template.V1 projesini indirin. Visual Studio 2019 için kullanılacak ise indirilen B3WebTemplate.zip dosyasını ProjectTemplates dizinine ekleyin. Örneğin kenid bilgisayarımdaki yol şu şekildedir: (C:\Users\User\Documents\Visual Studio 2019\Templates\ProjectTemplates)
Visual Studio’yu açın ve yeni proje ekleme adımını uygulayın.
Proje adını girin.
Artık yeni web api projeniz tüm katmanlarıyla hazır hale gelmiştir.
Visual Studio geliştirme aracında yeni proje oluşturma seçenekleri arasında proje türüne göre oluşturulmuş hazır şablonlar bulunmaktadır. Sunulan seçenekler Class Library, Console Application, Asp.Net, WCF v.s gibi uzayıp gider. Seçtiğimiz proje türüne göre bir çalışma ortamı otomatik olarak hazırlanır.
Ancak birbirine benzer projeler oluştururken solution içerisine sürekli aynı proje türlerini seçerek oluşturmak zorunda kalırız.
Örneğin bir web projesi için her defasında arayüz katmanı, veri katmanı, test katmanı gibi proje türleri seçilerek işleme başlanabilir. Bunun dışında da katmanlar vardır ama bu yazıda basit olarak üç katmanı ele almak anlaşılırlık açısında uygun olacaktır.
Bu gibi durumlarda kendi proje şablonumuzu olşuturabilirsek işimiz biraz daha kolaylaşmış olacaktır. Yapmamız gereken şey öncelikle bir solution oluşturarak gerekli proje türlerini bu solution içerisine dahil etmek olacaktır.
Bu proje şeklini bir şablon haline getirmek için File->Export Template seçeneğini seçerek ilerleyebiliriz.
Bu işlemin ardından My Exported Templates içerisine DataLayer.zip şeklinde bir dosya oluşturulduğunu görebiliriz. Bu solution içerisindeki tek bir katmana ait şablondur.
MyTemplate.vstemplate içerisinde oluşturduğumuz şablona ilişkin bilgiler bulunmaktadır. İçeriği xml şeklindedir ve istediğimiz şekilde düzenleyebiliriz. Bu işlemi solution içerisindeki tüm projelere uygulayıp oluşan *.zip dosyalarını tek bir şablon içerisinde birleştirebiliriz.
Export Template işlemi ile tüm projelere ait şablonları oluşturup *.zip dosyalarını bir klasöre çıkartalım.
Klasörlerin yanına Root.vstemplate şeklinde bir dosya oluşturmamız gerekmektedir. Adının ne olduğu önemli değildir. Önemli olan *.vstemplate uzantısına sahip olmasıdır. İçerik bilgisi ise şu şeklide olmalıdır.
TemplateContent içierisindeki ProjectCollection bölümünde daha önce tek tek oluşturduğumuz proje şablonlarını listeliyoruz. Icon olarak belirlediğimiz template.png dosyasını da aynı klasör içine kaydetmemiz gerekmektedir. Son olarak bu klasörü zip şeklinde sıkıştırarak kaydetmemiz gerekmektedir.
Artık oluşturduğumuz My Web Template.zip dosyasını Visual Studio Project Templates içerisine taşıyarak çalışır hale getirebiliriz.
Şimdi Visual Studio ortamında yeni proje eklemeyi deneyelim. Proje adını da ETicaret olarak belirleyelim.