ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • MVC 패턴
    Intern 2024. 7. 12. 09:09
    728x90

    - 사용자 인터페이스, 데이터 및 논리 제어를 구현하는데 널리 사용되는 소프트웨어 디자인 패턴

    - 소프트웨어의 비즈니스 로직과 화면을 구분하는 데 중점

    - MVVM, MVP, MVW 등의 파생 모델 존재

     

    * Model : 데이터와 비즈니스 로직 관리

    앱이 포함해야할 데이터가 무엇인지를 정의

    * View : 레이아웃과 화면 처리

    앱의 데이터를 보여주는 방식

    * Controller : Model과 View로 명령을 전달

     앱의 사용자로부터의 입력에 대한 응답으로 모델 및/또는 뷰를 업데이트하는 로직을 포함

     

    MVC를 지키기 위한 5원칙

    1. Model은 Controller와 View에 의존하지 않아야 한다.

    2. View는 Model에만 의존해야 하고, Controller에는 의존하면 안된다.

    3. View가 Model로부터 데이터를 받을 때는, 사용자마다 다르게 보여주어야 하는 데이터에 대해서만 받아야 한다.

    4. Controller는 Model과 View에 의존해도 된다.

    (Controller 내부에는 Model과 View의 코드가 있을 수 있다.)

    5. View가 Model로부터 데이터를 받을 때, 반드시 Controller에서 받아야 한다.

     

     

    public class Car {
    	private static final String ONE_STEP = "-"
        
        public Result move() {
        	...
            OutputView.printResult(ONE_STEP)
            return result;
        }
     }
    
    public class OutputView {
    	private static void printResult(String step) {
        	System.out.println(step);
        }
     }

    위는 MVC 패턴을 지키지 않은 코드다.

    public class Car {    
        public Result move() {
        	...
            return result;
        }
     }
    
    public class OutputView {
    	private static final String ONE_STEP = "-"
       
    	private static void printResult(Result result) {
        	...
            System.out.println(ONE_STEP);
        }
     }

    아래는 MVC 패턴을 지킨 코드이다.

    728x90

    'Intern' 카테고리의 다른 글

    끝맺음, 그리고 새로운 시작  (0) 2024.08.25
    [Intern] Git Action 오류  (0) 2024.07.26
    [Nginx] WEB 배포 시 문제  (0) 2024.07.03
    OOP  (0) 2024.06.26
    [Git] Error: failed to push some refs to ~  (0) 2024.06.13
Designed by Tistory.