는 일반적으로 말했다 예는 다음과 같습니다일부 상황에서는 안드로이드에서 단단히 결합 된 단편이 괜찮습니까? 활동 통신에 조각을 구현할 때
MyActivity extends Activity implements MyInterface {
...
@Override
public void myMethod() {
// Do something....
}
...
}
MyFragment extends Fragment {
...
private void aMethod() {
((MyInterface) getActivity()).myMethod();
}
...
}
사실은 그 더 자주 내 프로젝트에 조각은 "분할 등 impera에 다른 모듈의 기존 활동을 분해 단순히 사용하지보다 "패션 (아마도 액티비티가 너무 복잡해 졌을 때 리팩토링 중에). 이 단편 중 하나를 다른 활동 (단편을 추출한 활동과 다른 활동)에 첨부하면 의미가 없습니다.
그래서 내 경우에는 내가 일반적으로 끝날 :
MyActivity extends Activity {
...
void myMethod() {
// Do something....
}
...
}
MyFragment extends Fragment {
...
private void aMethod() {
((MyActivity) getActivity()).myMethod();
}
...
}
그래서되어 지칠대로 지친 질문 : 왜 우리는 조각이 항상 활동을 내부에서만 사용되는 경우 인터페이스를 사용해야합니까? 이 나쁜 습관인가? 이 경우 인터페이스를 사용하면 어떤 이점이 있습니까?
'myMethod()'는 실제로 내 코드에서 개인 패키지로 사용되었으므로 질문에서 제대로보고하지 않았다. 나는 그것을 편집 할 것이다. –
@MarcoRomano 나는 아직도이 정보를 답으로 남겨 두겠다. 나는 그것을 강조하는 것이 중요하다고 생각한다. 나는 사람들이 때로는 일을 과장하는 것으로 생각한다. 그리고 디커플링은 일반적으로 좋은 습관이라는 것에 동의하지만, 단순한 경우에는 그것을하지 않는 것이 반드시 실수는 아니다. 작동하는 가장 간단한 솔루션이 때로는 최고입니다. – Malcolm