Сначала у меня был класс A, который принимал список B в качестве аргумента конструктора. Этот список B хранился в классе A в переменной. Другой класс, который использовал этот класс A, нуждался в данных в списке B, но другим способом. Поэтому я создал конкретный объект C и имел метод getSomething () в классе A, который на лету создал один из этих объектов C, основываясь на информации в исходном списке B. Это прекрасно работало.
Затем оказалось, что классу, который вызвал getSomething (), нужна немного дополнительная информация, которую не содержал исходный список B. Небольшой расчет по конкретным элементам в списке B, однако, дал мне эту информацию. Эта информация должна быть добавлена к объекту C. Этот расчет немного сложен, поэтому я не хочу делать это на лету, когда я создаю объект C в getSomething (). Это вызвало у меня проблему, поскольку я не могу обновить какие-либо элементы объекта C с помощью этой вычисленной информации, поскольку элементы объекта C еще не существуют, они создаются в getSomething ().
Как мне решить это наилучшим образом. Возможно, есть какие-то шаблоны?
Должен ли я в конструкторе класса A преобразовывать элементы в списке B в список объекта C, а затем отбрасывать список B, а затем выполнять вычисления и обновлять все элементы объекта C?
Сохраняю ли я исходный список B и список объекта C и имею ли две переменные с почти одинаковой информацией, просто представленные по-другому?
Или что-то еще?
Редактировать: C не является расширением элемента в списке B, его более чем один или несколько элементов в списке B объединены в C.