나는 현재 훈련 계획의 일환으로 간단한 명령 행 기반 헬프 데스크 애플리케이션을 개발하는 임무를 맡고있다. 이 프로젝트의 요점은 디자인 패턴, 솔리드 원리, MVC 아키텍처 등을 사용할 수있는 능력을 개발하는 것입니다.유연한 MVC 구조는 어떻게 만듭니 까?
MVC 구조를 유연하게 유지하는 방법을 이해하는 데 문제가 있습니다. 여기에 내가 이상적으로 나중에 가서 다른 사용자 인터페이스 (뷰 클래스)를 대체 할 수 있도록하려는
public class RegisterController
{
View view;
RegisterModel registerModel;
public RegisterController()
{
registerModel = new RegisterModel();
}
public void processRegistration(String username, String password, Role role)
{
if(registerModel.isRegisterable(username, password))
{
User newUser = new User(username, password, role);
registerModel.registerUser(newUser);
view = new LoginView(new LoginController());
}
else
{
System.out.println("ERROR during registration.");
view = new MainView(new MainController());
}
view.startView();
}
}
내 코드의 한 부분의 샘플 ... 예이다 내 모델 또는 컨트롤러를 변경하지 않고 웹 페이지로 이동할 수 있습니다. 그러나 지금은 명령 줄 "MainView"및 "LoginView"클래스의 구체적인 구현을 코딩하고 있음을 알 수 있습니다.
이 컨트롤러 코드를 좀 더 유연하게 만들 수 있고 최소한의 코드 수정으로 다른 사용자 인터페이스로 대체 할 수 있습니까? 다른 UI로 변경할 때 컨트롤러 코드가 동일하게 유지되는 것을 기대하는 것이 비현실적입니까?