2011-05-24 52 views
1

我是一种新的编程,我希望如何进行一个简单的建议。我只会解释我的情况。我有一个网页(Default.aspx),2个类(Class1,Class2)和15个ArrayLists。许多ArrayList到类

步骤1)在Default.aspx的当用户点击一个按钮i创建的Class1的新实例:)

Class1 objClass1 = new Class1(); 

步骤2在Class,我有15周的ArrayList其中i数据添加到它们。我不知道元素的数量,我使用ArrayList对象,而不是简单的数组。我用Class1中的数据填充所有15个ArrayLists。所有ArrayLists都包含10-150个项目。

步骤3)在Class2中,我需要所有15个ArrayLists在例程Class2BusinessRules上对它们执行一些业务规则。所以,我的代码:

Class2 objClass2 = new Class1(); 
objClass2.Class2BusinessRules(ArrayList1, ArrayList2, etc..) 

所以,我把15个arraylist作为参数传递给Class2。什么是更好的解决这种情况? Class1和Class2应该分开存在,因为它们是抽象对象,它们用于不同的目的。我不想将它们合并到一个类中。我不想让这15个ArrayList成为静态或任何类型的全局变量,因为网站上的并发用户将使用它们。

可能的解决方案: 1)把所有的ArrayList在一个单独的类 2)把所有的ArrayList成百科对象像字典

哪些这些2溶液优点/缺点?你能为我的案例分享其他适当的解决方案吗?你能告诉我接近我的案例的任何设计模式吗?

回答

0

您可以将对Class1的引用传递到Class2中。在Class2中,您可以通过Class1引用访问数组列表。 例如

Class2 objClass2 = new Class1(objClass1); 
+0

这是唯一的建议吗? – user569008 2011-05-24 19:27:21

+0

@ user569008这对我来说似乎是最简单的方法,因为你只有一个对象可以通过,我猜将它们存储在另一个结构中的第二种方法也可以工作。我最喜欢的是这种解决方案。 – 2011-05-24 19:56:08

+0

在Class1中,我有其他公共成员,比如我不想发送/允许Class2的属性和方法。另外,我认为从Class1发送如此多的数据并不是很有效,这些数据不会在Class2中使用。 – user569008 2011-05-24 20:05:21