Closed mumincelal closed 3 years ago
Projeyi 3 layer'a bölelim kararı almıştık geçen hafta, hatta Yusuf bir issue açacaktı ama açmamış sanırım. Projeye ilk geçen yıl başladık ve amacımız 3-4 haftada çok hızlı şekilde çıkmaktı. Basit bir api yazalım, herşeyi sade tutalım mantığıyla yaklaştık. Lakin yapı hem sade kalmadı, hem de öyle planladığımız gibi hızlı gitmedi.
Projeyi api-business-data şeklinde 3 kısma ayıralım diye konuşmuştuk. Eğer çok uzamayacaksa ve merge'de mevcut devam eden çalışmalarla çok conflict çıkarmayacaksa birimiz ayrı branch'te api-business-data şeklinde 3 layer'a bölebilir projeyi. Ama hızlı tamamlamak ve main'e merge etmek iyi olur.
Mümin Celal Pinar @.***>, 2 Tem 2021 Cum, 16:16 tarihinde şunu yazdı:
Mevcut proje mimarisinde tüm yapılar *Devnot.Mentor.Api*** projesi altında konumlandırılmış. Bunun özel bir sebebi var mıdır?
Bunun yerine proje mimarisini gerekli yapıları Class Library olarak ayırsak ve o şekilde devam etsek nasıl olur?
Benim tavsiyem şu şekilde:
Devnot.Mentor.Api
Controllers Migrations
Devnot.Mentor.Repository
Devnot.Mentor.Service
Devnot.Mentor.Infrastructure
Middlewares Filters
Devnot.Mentor.Dto
Devnot.Mentor.Entity
Üzerine düşünebiliriz.
— You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub https://github.com/devnotcom/devnot-mentor-back-end/issues/29, or unsubscribe https://github.com/notifications/unsubscribe-auth/AITWF4WT6OZA7ZFK4F6EEADTVW33XANCNFSM47WWV6AQ .
Api-Business-Data layerlerı hangi yapıları barındıracak peki?
Dto ve entity'ler Data altında, Service, repository'ler, filters business altında, Controller ve Migration'lar Api altında mı olacak?
Burada tüm business logic service altında olacak. Repository ile Service yapısını ayırmak gerekmez mi?
Bu arada layer'ları tam olarak belirlediğimizde bu işi ben alabilirim.
İşte bu sorular yüzünden tek layer'da yapalım her şeyi diye düşünmüştük. Detaylara girersek 10 layer'a da böleriz projeyi. Çok kompleks düşünmeyelim bence, api'da sadece controller ve middleware'ler kalsa, diğerleri de yazdığın gibi olsa yeterli olur bence.
Hatta şöyle söyleyeyim; çok iş çıkaracaksa böyle kalsın. Amacımız clean arch. uygulamak, mükemmel kod çıkarmak, örnek proje yapmak değil. Amacımız hızlı ve temiz bir şekilde bu projeyi hayata geçirmek.
Mümin Celal Pinar @.***>, 2 Tem 2021 Cum, 16:31 tarihinde şunu yazdı:
Api-Business-Data layerlerı hangi yapıları barındıracak peki?
Dto ve entity'ler Data altında, Service, repository'ler, filters business altında, Controller ve Migration'lar Api altında mı olacak?
Burada tüm business logic service altında olacak. Repository ile Service yapısını ayırmak gerekmez mi?
— You are receiving this because you commented. Reply to this email directly, view it on GitHub https://github.com/devnotcom/devnot-mentor-back-end/issues/29#issuecomment-873001085, or unsubscribe https://github.com/notifications/unsubscribe-auth/AITWF4TPMKEH724W3SE7CEDTVW5T5ANCNFSM47WWV6AQ .
Ben yeni mimariyi haftasonu deneyeyim. Eğer görünenden daha uzun sürecekse şuan askıya alırız. Çok fazla zaman almazsa yeni mimariye geçer ardından da onun üzerinde gideriz diye düşünüyorum.
Selamlar, bence mvp çıkana kadar en azından mimariye dokunmayalım. Sonrasında DDD ve CQS gibi yaklaşımlar uygulayarak daha da iyi hale getiririz ama önceliğimiz sistemin çalışması olmalı hızlıca derim..
Mevcut proje mimarisinde tüm yapılar Devnot.Mentor.Api projesi altında konumlandırılmış. Bunun özel bir sebebi var mıdır?
Bunun yerine proje mimarisini gerekli yapıları Class Library olarak ayırsak ve o şekilde devam etsek nasıl olur?
Benim tavsiyem şu şekilde:
Üzerine düşünebiliriz.