1

Boundary, Entity, Control class and ICONIX process and Robustness Diagrams有很多文字。但是没有实际的代码示例,我们如何在代码中实现控制类?这是我的代码示例,我想检测此代码中的控件类在哪里?

类:

Program_Boundary : 边界类

人:实体

人:实体(因为它有 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 回答