2

学生と教師向けのソーシャル ネットワーキング アプリケーションを作成しようとしています。現在、ユーザー アカウント モジュールを設計しています。

この2つの方法を考えました

アプローチ1

Public class Account
{
    public string AccountId{get;set;}
    public string AccountName{get;set;}
       .
       .
       .


}

public class Student : Account
{
    public Course[] Courses {get; set;}
    //other student properties
        .
        .
        .

}

public class Teacher : Account
{
     //other teacher properties

}

アプローチ 2

Public class Account
{
    public string AccountId{get;set;}
    public string AccountName{get;set;}
    public AccountType AccountType {get;set;}  //AccontType is enum having student and teacher
       .
       .
       .


}


public class User
{
    public string UserId { get;set;}
    public string UserName {get;set;}
    public Account Account {get;set;}
}


public class Student : User
{
    public Course[] Courses {get; set;}
    //other student properties
        .
        .
        .

}


public class Teacher : User
{
     //other teacher properties

}

これらのアプローチよりも優れたアプローチはありますか?

4

2 に答える 2

2

私の意見では、アプローチ 2 の方がはるかに明確であり、好ましいと思います。

結局のところUser 、アカウントを持っているUserアカウントであるかということです。私にとっては前者であり、アプローチ2と同様に、この場合は継承の代わりに合成を使用する必要があります.

于 2011-06-12T06:14:10.803 に答える
1

現実世界のシナリオにより近いため、アプローチ 2 の方が好きです。学生と教師ユーザーであり、それぞれに必要なプロパティが設定されたアカウントがあります。

于 2011-06-12T06:15:22.083 に答える