1

境界、エンティティ、コントロール クラス、ICONIX プロセス、ロバストネス ダイアグラムに関するテキストは多数ありますが、実際のコード サンプルはありません。コントロール クラスをコードで実装するにはどうすればよいでしょうか。これが私のコードサンプルです。このコードのコントロールクラスがどこにあるかを検出したいですか?

クラス :

Program_Boundary : 境界クラス

人物 : 実体

People : エンティティ (CRUD 操作があるため)

コントロールクラスはどこにありますか? この例の制御クラスはありますか:

class Program_Boundary // BoundaryClass
{
    static void Main(string[] args)
    {
        People people = new People();
        Person person;
        for (int i = 0; i < 5; i++)
        {
            Console.WriteLine("Enter name:");
            string name = Console.ReadLine();
            Console.WriteLine("Enter family:");
            string family = Console.ReadLine();
            person = new Person(name, family);
            people.Add(person);
        }
    }
}
class People //Entity Class
{
    List<Person> person_list = new List<Person>();
    public People()
    {

    }
    public void Add(Person person)
    {
        person_list.Add(person);
    }
    public void Delete(string name, string family)
    {
        for (int i = 0; i < person_list.Count; i++)
            if (person_list[i].name == name && person_list[i].family == family)
                person_list.Remove(person_list[i]);
    }
    public void Update(string name, string family, string new_name, string new_family)
    {
        for (int i = 0; i < person_list.Count; i++)
            if (person_list[i].name == name && person_list[i].family == family)
            {
                person_list[i].name = new_name;
                person_list[i].family = new_family;
            }
    }
}
class Person //Entity Class
{
    private string _name;
    private string _family;

    public Person(string n,string f)
    {
        _name = n;
        _family = f;
    }
    public string name { get { return _name; } set { _name = value; } }
    public string family { get { return _family; } set { _family = value; } }
}
4

1 に答える 1

0

スニペットにコントロール クラスがありません。制御クラスは、特定のユースケースに対応する一連の操作の実行を担当するクラスです。たとえば、個人の詳細を更新するユースケースが考えられます。たとえば、次の操作が含まれます。

  1. 人を見つけます。
  2. 新しいデータを取得します。
  3. 個人レコードを更新します。

コントロール オブジェクトを作成できます。それを と呼びましょう。このオブジェクトはUpdateController、関連するエンティティと境界クラスにアドレス指定してジョブを完了させることにより、これら 3 つの操作を実行します。コントローラー自体は実際の操作を実行するのではなく、関連するモジュールに委任します。コントローラーは、必要な操作を呼び出して同期するものです。

また、こちらも参照してください: UML クラス図では、境界クラス、コントロール クラス、およびエンティティ クラスとは何ですか?

于 2012-10-25T15:37:08.770 に答える