• 16-05-2022, 14:59:42
    #1
    Bir ürün satma projesinde ürünlere kampanya eklemek istiyorum. Fakat kampanya yazdığım fonksiyonlara parametre olarak ayrı sınıfları yollayacağım örneğin biri ürün ismine göre kampanya yapacakken biri satılan ürün sayısına göre kampanya yapacak. Fonksiyonlardaki parametreler sürekli değişiklik göstereceğin bunu interface olarak tasarlayamadım. SOLİD mimarisinde bu dediğim kampanya ana sınıfını nasıl oluşturmalıyım?

    Örneğin;

    bool kampanya1(List<ÜrünSatisYönetimi> ürünSatisYönetimi){} <<< burada ürün sayısını ele alarak işlem yapıcam
    bool kampanya 2(Urun urun) {} << Burdada ürün ismine göre yapıcam


    ama benim oluşturduğum interface sınıfında
    bool kampanya1(); yaptığımda parametreleri kendime göre yapılandıramıyorum bunun için bir ana sınıfa bağlı kalmamak mı gerekiyor?
  • 16-05-2022, 15:17:38
    #2
    bu kast ettiğiniz yapı Factory Method pattern olarak geçmekte
    farklı parametrelere göre farklı methodlar yazmak istiyor iseniz bu design petterna bakmanız gerek ;
    Örneğin;
    https://refactoring.guru/design-patterns/factory-method
  • 16-05-2022, 15:20:28
    #3
    Interfaceleri, tek başına kullanamazsınız Bir sınıfa inherti etmeniz gerekiyor
  • 16-05-2022, 15:30:24
    #4
    MixCoder adlı üyeden alıntı: mesajı görüntüle
    Interfaceleri, tek başına kullanamazsınız Bir sınıfa inherti etmeniz gerekiyor
    zaten tek kullanmıyorum farklı sınıfa inherit ediyorum ama interface sınıfında parametre vermediğim için inherit ettiğim sınıflardada parametreli kullanamıyorum farklı bir yöntemle mi tasarlamam lazım