【发布时间】:2019-10-03 19:08:04
【问题描述】:
这是一个初学者问题,对于大多数专家来说可能非常容易。
我正在尝试为案例研究项目(比如说建筑施工示例项目)找到正确的架构/结构。
我正在尝试为一个项目定义一个团队,该团队在所有项目阶段都相同并被引用,其成员在不同阶段被引用和使用。
我创建了一个Person 类,它定义了必填字段,并在我的ProjectTeam 类中使用了它,它是一个通用的List<Person>。
我想知道如何在其他将定义我的项目阶段的类中使用这个
ProjectTeam类?我正在考虑一个静态类,但我不知道如何使用它(p1.png)。我应该遵循一个具有不同类的项目的概念,还是遵循一个解决方案的概念,在我的解决方案中使用一个用于不同项目(代表不同阶段)的类库。我在非 UML 图 (p2.png) 中以图形方式展示了第二个想法。
namespace MyClassLibrary
{ public class Person
{ public enum ERole { Admin, Head, InCharge }
public string Name { get; set; }
public ERole Role;
private decimal rate = 15.00m;
public decimal Rate
{ get { return rate; }
set{ if (rate >= 15.00m) { rate = value; } }
}
public Person()
{
this.Name = "";
this.Role = ERole.InCharge;
this.Rate = 15.00m;
}
}
}
namespace MyClassLibrary
{
public static class ProjectTeam
{
public static List<Person> TeamMembers = new List<Person>();
static ProjectTeam()
{
TeamMembers.Add(new Person() { Name = "APerson",
Role = Person.ERole.Admin,
Rate = 30.00m });
TeamMembers.Add(new Person() { Name = "BPerson",
Role = Person.ERole.Head,
Rate = 25.00m });
TeamMembers.Add(new Person() { Name = "CPerson",
Role = Person.ERole.InCharge,
Rate = 15.00m });
}
}
}
namespace MyClassLibrary
{
public class Project
{
public string ProjectName { get; set; }
public int ProjectNumber{ get; set; }
public string ProjectScope { get; set; }
}
}
【问题讨论】:
-
感谢您抽出宝贵时间分享您的问题。但是您的问题中缺少一些东西。你的目标是什么?你的问题是什么?到目前为止你做了什么?请尝试更好地解释您的困难并分享更多代码。为了帮助您改进查询的内容、标题和标签,请考虑阅读帮助中心的 How do I ask a good question。
-
嗨,奥利弗,如果给您带来不便,我们深表歉意。我收到了一条评论来发布代码而不是它的图片,并分享了我所拥有的。
-
嗨,奥利弗,如果给您带来不便,我们深表歉意。我收到了一条评论来发布代码而不是它的图片,并分享了我所拥有的。我将通过你提到的链接。我有两个目标,也许这就是它引起混乱的原因。首先,我试图找出处理一个包含如此多零件的项目的最佳常见做法。其次,我想知道如何通过项目使用“ProjectTeam()”类的单个相同实例。
-
对于一个类的单个实例,模式是singleton。但是你所说的“处理一个包含这么多零件的项目”是什么意思?
-
我的意思是不同的类,不同的成员代表我的示例项目的不同任务和阶段。
标签: c# oop static relationship