Вопрос о связи между деятельностью и фрагментом - PullRequest
0 голосов
/ 27 октября 2019

Я задаю мне вопрос о связи между действием и фрагментом. В моей ситуации у меня есть только одно действие и несколько фрагментов. У меня есть 2 возможности:

  • Использовать интерфейс (длинный)
  • Просто используйте getActivity (или действие) с приведением к действию: (activity as MainActivity)."variable"

Логически второе в моей ситуации - лучшее, но нет проблем с этим решением?

1 Ответ

0 голосов
/ 27 октября 2019

2-й может показаться проще реализовать наверняка. Но первый из них более слабосвязанный, поэтому он прост в обслуживании и обладает многими другими преимуществами.

Использование интерфейса в этом отношении - лучший выбор, поскольку он следует шаблону проектирования Observer, который хорошо протестирован, хорошо понят. Кроме того, приведение типов к определенной активности делает фрагмент сильно связанным с активностью, что не является хорошим дизайном. Чтобы использовать этот фрагмент где-либо еще, вам необходимо каждый раз обновлять раздел приведения типов, что также затрудняет возможность многократного использования и нарушает принцип открытого и открытого SOLID.

...