В вашем сценарии вы можете разбить ваш модуль аутентификации следующим образом:
- Модель (класс сетевого подключения)
- Вид (фрагмент деятельности / заставки / входа / фрагмента регистрации)
- Presenter (Класс, который обрабатывает бизнес-логику и склеивает модель и представление)
Интерфейс просмотра:
interface View {
//Show Introduction screen
void onIntro();
//Show User sign in screen
void onUserSignIn();
//Show User sign up screen
void onUserSignUp();
//User logged in i.e. either signed in or signed up
void onLogin();
}
Интерфейс модели:
interface Model {
//on Login / Signup successful
void onLogin();
}
Интерфейс Presenter:
interface Presenter {
// Perform sign in task
void performSignIn();
// Perform sign up task
void performSignUp();
}
Деятельность реализует это представление и реализует следующие методы:
class AuthenticationActivity extends Activity implement View {
Presenter presenter;
public void onCreate() {
// Initialize Presenter as it has all business logic
presenter = new Presenter(view, model);
}
public void onIntro(){
// initialize a new intro fragment
// and add / replace it in activity
}
public void onUserSignIn(){
// initialize a new sign in fragment
// and add / replace it in activity
}
public void onUserSignUp() {
// initialize a new user sign up fragment
// and add / replace it in activity
}
void onLogin() {
// do what you want to do. User has logged in
}
}
Это даст вам основную идею, например, как спроектировать Login MVP в Android и как работает flow.