Много ArrayList в классы - PullRequest
1 голос
/ 24 мая 2011

Я новичок в программировании, и я хотел бы дать простой совет, как поступить.Я просто объясню свою ситуацию.

У меня есть веб-страница (Default.aspx), 2 класса (Class1, Class2) и 15 ArrayLists.

Шаг 1) В Default.aspx, когда пользователь нажимает кнопку, я создаю новый экземпляр Class1:

Class1 objClass1 = new Class1();

Шаг 2) В Class1 у меня есть 15 ArrayLists, куда я добавляю данныеим.Я не знаю количество элементов, и я использую объект ArrayList, а не простые массивы.Я заполняю все 15 ArrayLists данными в Class1.Все списки ArrayList содержат от 10 до 150 элементов.

Шаг 3) В Class2 мне нужно, чтобы все 15 ArrayLists выполняли с ними некоторые бизнес-правила в обычной Class2BusinessRules.Итак, я кодирую:

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

Итак, я передаю 15 массивов в качестве параметров для Class2.Как лучше решить эту ситуацию?Class1 и Class2 должны существовать отдельно, потому что они являются абстрактными объектами, они служат различным целям.Я не хочу объединять их в 1 класс.Я не хочу делать эти 15 ArrayLists статическими или любыми другими глобальными переменными, потому что их будут использовать параллельные пользователи на сайте.

Возможные решения: 1) Поместить все ArrayLists в отдельный класс 2) Поместить всеArrayLists в объект Dictionay, такой как Dictionary

Каковы плюсы / минусы для этих двух решений?Можете ли вы поделиться другими ценными решениями для моего случая?Можете ли вы сказать мне какой-нибудь шаблон дизайна для классов, близких к моему делу?

1 Ответ

0 голосов
/ 24 мая 2011

Вы можете передать ссылку на Class1 в Class2.Таким образом, внутри Class2 вы можете получить доступ к спискам массивов по ссылке Class1.например,

  Class2 objClass2 = new Class1(objClass1);
...