2010-03-04 1 views
3

MVC 개발의 모범 사례에 대한 간단한 질문입니다.codeigniter 모범 사례 - 여러 모델

두 개의 컨트롤러 (cont1, cont2)가 있는데 각각 별도의 모델 인 model1 & model2를 사용한다고 가정 해 보겠습니다.

모든 파일은 복잡하며 모델에는 수십 가지 방법이 있습니다.

말하자면 첫 번째 컨트롤러 개발이 끝났고 두 번째 컨트롤러가 작동 중입니다. model2의 메소드 중 하나와 정확히 같을 모델을 생성해야합니다. 예를 들어 일종의 범주 목록을 얻는 것만이 아주 작은 방법 일뿐입니다.

가장 좋은 접근 방식은 무엇입니까?이 방법을 복제하여 내 model2에 포함 시키거나 model1에서 검색해야합니까?

모델 1에서 그것을 얻을하는 것입니다 수행하는 합리적인 것, 그러나 두 모델을로드 할 것 같은 즉, 실행 시간에 영향을 줄 경우 나도 몰라 ..

내가 감사 할 것 두 번째 모델을로드 일부 피드백

덕분에 K

답변

3

실행 시간에 눈에 띄는 영향을주지 않습니다. 이것은 아마도 갈 길입니다.

또한 각 모델은 특정 '개체'에 대한 데이터 논리를 캡슐화해야합니다. 각 모델은 거의 데이터베이스 테이블과 같다고 생각할 수 있습니다. 그래서 아마 두 곳에서 같은 방법을 사용하기를 원하지 않을 것입니다. 그렇다면 플러그인 생성을 고려하는 것이 좋습니다.

1

정말로 필요한 것은 세 번째 모델 일 것입니다. 모델의 많은/모든 모델에 사용되는 방법이 있다면, 실제로는 고유 한 데이터 세트가되어 자신의주의를 끌 수 있습니다. 또한 여러 "대형"모델을로드하지 않아도되며 대용량 모델 1 개와 소형 모델 1 개가 있습니다.

0

나는 같은 상황으로 실행했습니다. 내가하는 일은 codeigniter 객체 을 모든 모델의 참조으로로드하는 것입니다. 그런 다음 다른 모델, 라이브러리, 도우미, 심지어 구성 항목을 모델에로드 할 수 있습니다. 컨트롤러에서 모델 코드를 유지하는 데 도움이되며 모범 사례로 생각합니다. 항상 건조하게하십시오 (반복하지 마십시오).