У меня есть некоторые сомнения по поводу того, как реализовать необходимые для моего приложения виджеты для моего приложения с использованием C #.
У меня есть три фрагмента, и каждый из них реализует обзор переработчика, давайте назовем их 1, 2, 3 и 4.У меня есть четыре разных типа объектов: A, B, C и D. Все они хранятся в одной коллекции.
Представление переработчика фрагмента 1 должно содержать все из них.
Фрагменты 2 должны содержать только A.
Фрагменты 3 должны содержать только B.
Фрагменты 4должен содержать только C и D.
Как видите, несколько фрагментов в конечном итоге содержат один и тот же тип объекта.Теперь я задаюсь вопросом, лучше ли хранить видоискатель в отдельной папке, скажем, для объекта А, чтобы 1 и 2 могли получить к нему доступ, или лучше реализовать два видоискателя для каждого фрагмента, даже если эти видоискатели будутбыть одним и тем же?
Теперь предположим, что A и B имеют одинаковую структуру макета, но ведут себя по-разному при взаимодействии с ними. Я уверен, что A и B всегда будут иметь одинаковую структуру макета.Лучше иметь два видоискателя и сделать так, чтобы фрагмент проверял, какой тип объекта я получил из коллекции, чтобы он мог выбрать правильный видоискатель, или лучше иметь общий единственный видоискатель, который можно использовать как для A, так и для B, а затемв конце концов, проверьте, содержит ли он A или B, и реализует их поведение.
Допустим, вариант универсального видоискателя лучше, C похож на A и B, но не совпадает, они разделяют 80% макета,Все еще рекомендуется иметь здесь общий видоискатель?У C есть дополнительные представления, которые нужны, чтобы показать, чего нет у A и B.Было бы разумно иметь макет, в котором эти дополнительные виды отключены, а затем становятся видимыми в случае, если у меня есть C, и не отображаются, если у меня есть A и B?Влияет ли тот факт, что A и B имеют эти дополнительные элементы в макете в статусе GONE навсегда, влияют на производительность?Извините, эта часть больше относится к вопросу о том, как состояние GONE взаимодействует с памятью, чем к чему-либо.
Извините за стену текста, также это вопрос только о производительности, а не о том, какая архитектура будет болееполезно работать с точки зрения разработчика.