웹 프레임워크에 MVC가 잘못된 이유는 무엇입니까?

우리는 오랫동안 웹 개발에서 MVC에 중독되었습니다.

MVC는 웹 프레임워크 이전에 도입되었기 때문에 대부분의 웹 프레임워크에서 함부로 사용하고 있습니다.

대부분의 웹 프레임워크 작성자는 웹 로직과 비즈니스 로직의 차이조차 모릅니다.
웹 프레임워크는 어떻게 되어야 할까요?

그들은 MVC가 필요하기 때문에 좀 더 자신감을 가질 수 있습니다.

하지만 웹 프레임워크에 mvc가 필요한 이유는 무엇입니까? 아무도 그것을 논리적으로 설명할 수 없습니다. 웹 프레임 작업 내부에 mvc를 사용하는 로직이 없기 때문입니다.

MVC로 웹 프레임워크를 사용할 때 컨트롤러 때문에 늘 헷갈렸습니다.

컨트롤러가 웹 요청 및 비즈니스 로직용인지 모르겠습니다.

실제로 웹 프레임워크는 다음과 같은 몇 가지 작업만 수행하면 됩니다.
  • 웹 요청 처리
  • 처리 요청
  • 데이터 반환

  • 웹 프레임워크가 처리할 기본 두 가지 시스템, 즉 웹 요청 처리 시스템과 사용자 논리 처리 시스템이 있습니다.

    그러나 대부분의 웹 프레임워크는 웹 요청과 사용자 로직을 하나의 컨트롤러에 혼합합니다.
    그리고 반환 데이터를 MVC에서 보기와 혼합합니다.

    웹 프레임워크의 경우 실제로 사용자 논리 처리를 방해할 필요가 없습니다. 이러한 웹 프레임워크는 express.js와 같은 매우 기본적인 프레임워크입니다.

    이제 우리가 알다시피 하나의 컨트롤러에 하나의 경로를 사용하는 것은 확실히 좋은 웹 프레임워크가 되기 위한 올바른 방법이 아닙니다. 웹 요청은 다른 경로에 대해 동일한 처리를 공유할 수 있습니다.
    그리고 동일한 경로를 가진 다른 HTTP 메서드에 대해 다른 프로세스를 가질 수 있습니다.

    좋은 웹 프레임워크를 위해서는 이 두 시스템을 적절하게 처리해야 합니다. 그리고 다음 사항을 잘 처리하십시오.
  • 웹 요청 라우팅 및 요청 데이터 정제
  • 웹 요청 데이터를 사용자 로직/비즈니스 로직 처리 시스템으로 전달하고 데이터를 웹 응답으로 회수하는 브리지
  • 처리 중인 논리/비즈니스 논리를 사용하는 방법이 쉬워집니다.
  • 비즈니스 논리에 대한 후크를 추가하여 웹 흐름을 제어합니다.

  • 사실 MVC와는 아무런 관련이 없습니다. 이러한 것들은 모두 웹 흐름에 있으며 이를 Web Straight Line이라고 합니다. 다음 차트와 같이 설명할 수 있습니다.



    가장 유용한 웹 프로세스를 거의 정돈된 방식으로 자세히 설명합니다.

    어떤 웹이 직선인지, 우리는 웹 프레임워크가 무엇인지, 웹 프레임워크에 MVC가 필요하지 않은 이유를 명확하게 알 수 있습니다.

    또한 Web Straight Line에 대한 구현이 있는데, node.js와 typescript를 사용하는 호출aex입니다.

    aex를 사용하면 컨트롤러가 필요하지 않지만 다른 요청을 처리하고 추가 사용자 논리 처리를 위한 브리지로 사용되는 클래스 내부의 처리기가 필요합니다.

    다음은 aex를 사용하여 웹 요청을 처리하는 간단한 예입니다.

    import { Aex, http } from "@aex/core";
    
    class UserLogic {
      private parameters;
      constructor(parameters) {
        this.parameters = parameters;
      }
      @http("get", "/user/process1")
      public handler() {
        this.userLogicProcess1()
      }
    
      private userLogicProcess1() {
         // ....
      }
    }
    


    메모:

    This web flow is applicable in most languages.

    좋은 웹페이지 즐겨찾기