2010-04-17 2 views
1

순간 MVC 프레임 워크 (codeigniter)에 ORM (doctrine)을 통합합니다.ORM이없는 MVC는 실제 MVC가 아닙니까?

컨트롤러가 데이터베이스 테이블을 대표하는 모델을 호출

은 다음이가 MVC를 설정하는 확실한 방법이라고 저를 명중했다. 이 그림에서

보기 :

MVC + ORM

다음 내가 어떻게 ORM없이 MVC 실제 MVC 될 수 궁금해? 그 이유는 모델이 실제 객체가 아니라 CRUD를 수행하는 여러 함수의 집합체이며 결과를 컨트롤러로 반환하기 때문입니다. 그리고 상태 (개체 속성)에 대한 필요가 없습니다 그래서 함수는 모든 정적 것 같아요?

이 메시지가 맞지 않으면 나에게 맞춰주세요.

내가 많은 사람들이 ORM없이 모델을 사용하는 것 같아요. 생각을 공유하십시오. 모델은 어떻게 생겼습니까?

답변

10

MVC는 원래 (나는 스몰 토크가 처음 생각) OO 언어에 대한 생각 범용 UI 패턴입니다. 당신이 백 엔드 관계형 데이터베이스 (예를 들어, 바이너리 직렬화 된 파일 형식)이없는 경우

당신은 ORM 층의 필요가 없습니다.

은 아주 별개 서로 없이는 존재할 수 있습니다.

+0

좋아요, 그럼 이제는 다른 것들입니다. 내 생각에 관해서는 orm이없는 모델은 CRUD를 수행하는 정적 함수의 집합 일뿐입니다. 실제 객체/클래스가 아닌가? –

+0

ORM은 관계형 데이터 저장소에서 개체로의 매핑 프레임 워크 일 뿐이며 클래스 구조는 암시되지 않습니다. 정적 유틸리티 함수의 집합 일 수도 있지만 다르게 구성 될 수 있습니다. ORM의 복잡성은 일반적으로 지원하는 연산의 복잡성 (일괄 처리, 객체 종속성 등)과 객체를 설명하는 방법의 다양성에 따라 달라집니다. – micahtan

3

MVC는 개체와 아무 관련이 없습니다. 따라서 ORM없이 MVC를 만드는 것이 매우 간단합니다.

+1

@Gordon : 아니, 나는 내가 말한 것을 의미했다. 어떤 객체로도 프로그래밍하지 않고도 MVC 패턴을 사용할 수 있습니다. –

1

어떤 데이터베이스를 사용하지만 (예 : XML 파일을 쓰기로) 데이터에 대한 다른 직렬화를 사용하지 않는 응용 프로그램에 대한? MVC와 ORM은 직각 개념입니다. MVC는 내부 객체 상호 작용을 구성하는 방법이며, ORM은 모델을 직렬화 및 비 직렬화하는 방법입니다. 다른 직렬화 메소드를 대체하여 ORM없이 MVC를 사용할 수 있습니다.

은 적절한 사용자 경험과 작업 흐름을 만들어 함께 뷰와 모델을 묶는에 관한 것입니다, 직렬화 호출하지 않는 낮은 수준을 약 MVC의 컨트롤러 부분입니다.