Çok katmanlı mimari ile geliştilen projelerde, yeni bir Entity ekleneceği zaman tüm katmanlarda (DataAccess, Business ..) yeni eklenen entity için en az birer tane 'Interface' ve bu Interface kalıtım alan bir 'Class' oluşturmak gerekmektedir. Bu işlem başlangıçta zevkli olsada bir yerden sonra sürekli kendini tekrar eder bir hal almaktadır ve bu durum can sıkıcı olabilmektedir. (Dont repeat yourself.)
CodeGenerator projesi içerisinde yapılmış olan geliştirme sayesinde;
İlk olarak Database ile bağlantımızı oluşturacak class olan Context Class'ımızı oluşturmaktadır.
Entity katmanında oluşturulan Model Class referans alınarak, DataAccess katmanında bulunan Abstract klasörü içerisine ilgili entity için bir adet Interface oluşturmaktadır. Daha sonra DataAccess içerisinde bulunan Concrete klasörü içerisine Class'ını oluşturarak Interface ile kalıtım almaktadır ve ilgili Entity için DataAccess katmanındaki database işlemleri için gerekli hazırlıkları tamamlamaktadır.
Business katmanında Abstract ve Concrete klasöründe Interface ve Class'ları oluşturduktan sonra Business katmanı ile DataAccess katmanı arasındaki köprüde kurulmuş olmaktadır.
NOT: Proje henüz tamamlanmamış olup basic düzeyde tutulmuştur. İhtiyaca göre geliştirmeye açıktır ve devam edilecektir. Windows ve Macbook larda dosya yollarında farklılık olacaktır. Dosya yolları, Windows'ta '\' olması gerekirken Maclerde '/' olarak değiştirilmesi gerekmektedir. İlerleyen süreçlerde, dosya yolları Config dosyasından okunacak, Web projesi eklenerek Register işlemi yapılacak ve Dependency Injection blokları otomatik oluşturulacak.