질문
Q #9584
[초보]모델이나 라이브러리의 사용방법에 관하여
헛발이
2011-11-21 12:42:49
초보가 질문좀 드릴께요...
모델이나 라이브러리의 사용방법에 관하여 질문인데요..
Application하나만 갖고 작업을 하시는 분들도 계시겠찌만요...
모듈방식으로 작업하시는 분들도 계실걸로 생각하고 질문 올립니다.
예를 들어서요...
모듈에
./modules/oranges/controllers/oranges.php
이렇게 오렌지라는 콘트롤러가 하나 있습니다.
이 모듈에는 자기 모델도 갖고 있습니다.
./modules/oranges/models/oranges_m.php
이렇게 말이죠...
그리고 다른 모듈하나가 더 있습니다.
./modules/bananas/controllers/bananas.php
이렇게 말이죠.. 그리고 여기에서도 자기 모델을 갖고 있습니다.
./modules/bananas/models/bananas_m.php
이렇게 말이죠...
여기서 질문인데요...
바나나콘트롤러에서 오렌지 자료를 불러 오려고 합니다.
불러오는건 어려운일이 아니죠...
바나나콘트롤러에서 orange테이블을 읽어서 자료를 가져 오면 되니깐요..
혹은 바나나콘트롤러에서 오렌지 모델을 로드한다음에 오렌지 모델에서 불러오면 되니깐요..
근데 질문은 어떤게 더 나은건지 정의가 안 잡혀요...
즉
1. 모듈과는 관계 없이 자기 모듈에서 필요한 테이블들을 불러 사용하는것이 좋은지..
2. 아니면 필요한 데이터가 있으면 해당 모듈에 모델을 로드해서 가져오는게 좋은지요..
왜 고민을 하고 있냐면요..
1번같은 경우에는 저렇게 해 버리면 오렌지 테이블을 읽어 사용하는 것이 이것저곳 모델에 생겨서
혹시 테이블 수정이 생기면 모델들을 다 찾아서 수정해줘야 한다는것이고...
2번같은 경우에는 필요한 모델을 로드해서 해당테이블을 한곳에서 관리 하게 되면 여러게의 테이블 자료가
필요하게 되면 많은 모델을 또는 라이브러리를 로드 해야 하기 때문에 불필요한 리소스를 많이 가져 오게 된다는것이거든요.
이것때문에 항상 고민 하고 있어서 다른분들께 고민을 털어 놓고 갑니다...
초기 개발시 필요한 것을 공용으로 빼거나, 개발중간에 빈도수가 높은 것을 공용으로 빼거나(리팩토링이라고 하면 비슷할거 같네요) 합니다.
통상적으로 아이디 체크라던가 게시판은 많지만 뷰가 동일하다면 뷰에 관련된 모델도 공용으로 할 수 있겠죠.
정답은 없는 것 같고 상황에 따라 조금씩 다르게 적용이 됩니다.
(모델도 컨트롤러 하나에 꼭 하나가 아니라 빈도수에 따라 여러개로 나누는 것도 생각해볼만 합니다.
세분화된 컨트롤러 공용모델이 되겠죠.)