Skip to content

OzerBey/ReCapProject

Repository files navigation

ReCapProject

rentacar

'Rent A Car'

'Katmanlı' 'OOP' Sistemim dört katman oluşuyor:

1. Entities

2. Data Access

3. Business

4. Core

Her katmanda ise soyut işlemleri tanımlamak için Abstract, somut işlemleri tanımlamak için Concrete klasörü bulunmakta.

Entities

Bu katmanın soyut kısmında tüm varlıkların referansını tutabilecek bir IEntity interface' i; somut kısmında ise oluşturulacak Car (araba varlıgı için ) entity class'ları bulunmakta. Veritabanı tablolarına denk gelen entitylerin API, Console veya UI projeleri için kullanılan request/response modellerinin ve DTO(Data transfer object) larının bulunduğu katmandır

Data Access

Bu katmanda ileride belli koşullara göre kullanılacak/değiştirişlecek database yöntem çeşitlerine yer verilen kısımdır. Veri erişim katmanıdır. Veritabanı işlemlerinin (CRUD Operations) gerçekleştirildiği katmandır.

Business

Bu katman Abstract soyut kısım, Concrete somut kısım olmak üzere iki kısımndan oluşmaktadır. İş kodlarımızı bu katmanda yazıyoruz. DataAccess in veritabanından aldığı verileri işleyip kontrolden geçiren katmandır.

Soyut kısımdaki ICarService interface' i, somut kısımda bulunan CarManager.cs referanslarını tutmak ve eş görevleri paylaştırmak üzere üretilmiştir.

CarManager.cs' de bulunan getAll() metodunda tüm bilgileri çağırma yapılmıştır. Son olarakta ConsoleUI da sistem simülasyonu yapılmıştır.

Core

Bu katmanda genel olarak ilgili proje veya farklı yapılarla ortak kullanlan bölümdür. Evrensel kodlarimizi (tüm projelerde kullanilacak kodlarimizi) yazdigimiz kisimdir Core katmani; burada hangi katman ile ilgilenceksek onunla ilgili bir klasor ekliyoruz.. //core katmanina bir kere kod yazariz bütün projelerde kullanabilriiz

``! Core : Evrensel katmanimizdir ve Core katmanı diger katmanları referans almaz !``

Content Of This Project

Generic Repository Design

Generic Constraint

LINQ

Entity Framework

Core Layer

Web API

Autofac

FluentValidation

AOP Support

Validation

About

OOP , SOLID , N-Tier Architecture

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages