0

私は次のようなクラスを持っています:

public class Soru
{ 
    public void SoruKaydet(){...}
    private static void SoruEtiketKaydet(Guid soruId, Etiket etiket, DbManager db){...}

    public Guid? SoruId { get; set; }
    public Guid? SoranId { get; set; }
    public int? BakilmaSayisi { get; set; }
    public string HtmlGovde { get; set; }
    public string MarkdownGovde { get; set; }
    public string Baslik { get; set; }
    public int? KategoriId { get; set; }
    public DateTime OlusturulmaTarihi { get; set; }

    public List<Etiket> Etiketler { get; set; }
}

クラス「Soru」にいくつかの変数を含める必要がある別のクラスが必要です。これには2つのシナリオがあります。

最初のシナリオ:

public class SoruSayfa
{ 
    public static List<SoruSayfa> SoruSayfaGetir(){...}   

    public Guid? SoruId { get; set; }
    public Guid? SoranId { get; set; }
    public int? BakilmaSayisi { get; set; }        
    public string Baslik { get; set; }
    public int? KategoriId { get; set; }
    public int DurumId { get; set; }
    public double SoruPuani { get; set; }
    public int CevapSayisi { get; set; }
    public int BakilmaSayisi { get; set; }
    public string KullaniciAdi { get; set; }
    public double? KisiAlanPuani { get; set; }
}

2 番目のシナリオ:

public class SoruSayfa
{
    public static List<SoruSayfa> SoruSayfaGetir(){...}   

    // Refers the class Soru instead of some variables of it
    public Soru MySoru { get; set; }        
    public int DurumId { get; set; }
    public double SoruPuani { get; set; }
    public int CevapSayisi { get; set; }
    public int BakilmaSayisi { get; set; }
    public string KullaniciAdi { get; set; }
    public double? KisiAlanPuani { get; set; }
}

最初のシナリオでは、使用されていない余分な変数はありませんが、2 番目のシナリオでは、MySoru の一部の変数が使用されていません (HtmlGovde、MarkdownGovde、OlusturulmaTarihi、Etiketler)。さらに、Soru および SoruSayfa クラスは、asp .net MVC のさまざまなアクションのモデルとして使用されます。それらにはさまざまなメソッドが含まれています。どのシナリオが優れていますか?

4

1 に答える 1

2

3 番目のシナリオを試してください ;)

public class SoruBase
{
    public Guid? SoruId { get; set; }
    public Guid? SoranId { get; set; }
    public int? BakilmaSayisi { get; set; }
    public string Baslik { get; set; }
    public int? KategoriId { get; set; }
}

public class Soru : SoruBase
{
    public string HtmlGovde { get; set; }
    public string MarkdownGovde { get; set; }
    public DateTime OlusturulmaTarihi { get; set; }

    public List<Etiket> Etiketler { get; set; }
}

public class SoruSayfa : SoruBase
{
    public int DurumId { get; set; }
    public double SoruPuani { get; set; }
    public int CevapSayisi { get; set; }
    public int BakilmaSayisi { get; set; }
    public string KullaniciAdi { get; set; }
    public double? KisiAlanPuani { get; set; }
}
于 2013-05-19T09:31:59.520 に答える