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?