假设我有一个拥有两个用户的网络应用。申请人发送申请表,案件处理人员处理申请表。不同的用户对申请表有不同的看法。从物理上讲,它可能是相同的申请表格。但在电子处理中,它们可以被视为具有依赖关联的不同对象。我的问题是,做出决定时应考虑哪些因素,无论是使用一个申请类还是将它们分成两个类,一个用于申请表,一个用于案例表。我对此的看法是,两个用户都在对象上拥有自己的操作,并且他们不“共享”相同的操作。创建两个类图可能更有意义,每个类都有明确的责任,但我需要为应用程序表单类的每个子类创建新类,这将是很多类。
答案 0 :(得分:0)
您的第二个模型对第一个模型进行语义拆分,将namespace linkedLists
{
class Program
{
static void Main(string[] args)
{
int[] arr = new int[] { 1, 2, 3, 4, 5, 6, 7, 8, 9 };
int x = sumOfNum(arr, 0);
Console.WriteLine(x);
Console.ReadLine();
}
public static int sumOfNum(int[] arr, int x)
{
int[] arr_new = new int[arr.Length - 1];
if (arr.Length > 1)
{
x += arr[arr.Length - 1];
for (int i = 0; i < arr.Length - 1; i++)
{
arr_new[i] = arr[i];
}
}
if (arr.Length > 1)
{
sumOfNum(arr_new, x);
}
return x;
}
}
}
与Case
分开。然后你创建任何一个的特化。这似乎没有意义。你的分裂是有意义的,主要是因为重复使用例如相同的Application
并专注于Application
,反之亦然:
答案 1 :(得分:0)
我喜欢你的Model2图表,尽管你可以采取一些措施来改善它。您的图表已经清楚地表明,在问题域中,ATypeCase
仅启动BTypeApplication
,而BTypeCase
仅启动{redefines}
。
我要做的是改进图表:
|Application|--initiated by [1]----------initiates [0..1]--|Case|(抱歉,对于pidgin UML,我不想启动我的UML工具并找到托管图形的位置。)< / LI>