具有许多行为的用例actor

时间:2017-11-13 18:46:48

标签: oop ooad

我试图想象具有多种行为的用例演员实际上是如何在应用程序中出现的。

采取以下现实世界,但过于简单的情况:

环境咨询组织有一名项目经理负责:创建和管理客户;项目;设施和建筑物,设备和用品。很多这只是CRUD,但还有更多。

有一个隐含所有行为的ProjectManager类是否有意义?只需查看用例图,我就可以看到20多种方法。

Project Management Use-Case

2 个答案:

答案 0 :(得分:1)

不是将所有鸡蛋放在一个篮子里,为什么不将责任归入不同的“角色”,然后将这些角色分配给PM?

我的意思是,请耐心地想象一下:

接口:CustomerRelations 职责:与客户相关的操作(例如创建客户,与他们保持良好关系等)

界面:OfficeManagement 职责:获得必要的业务设备,并提供必要的供应使用等。

接口:ProjectManagement 职责:监督和监督项目等

他们

类:ProjectManager实现CustomerRelations,OfficeManagement和ProjectManagement。

这样,如果需要,您可以轻松地重新调整责任。

答案 1 :(得分:0)

我们也可以想象这样。添加到@Alp的答案

  

项目经理有X个职责。(客户   关系,办公室管理)

接口:CustomerRelations职责:与客户相关的操作(例如,来自客户的获取反馈,以及其他)

界面:办公室管理职责:

类:ProjectManager可以有ICustomerRelations,IOfficeManagement和IProjectManagement。

Class ProjectManager
{
   IOfficeManagerment officeManagement;
   ICustomerRelations  customerRelations;

    public ProjectManager(IOfficeManagerment management, ICustomerRelations)
    {
          \\Inject your dependencies
    }


    public void GetFeedBack()
    {
        customerRelations.GetFeedback();
    }

    public void GetEquipements()
    {
        officeManagement.GetAvailableEquipments();
    }
}

注意事项

  1. 项目经理不必知道办公室的内部情况 管理。他将责任委托给其他人。例如。如何获得 可用资源。他只是想知道可用的资源。