자유게시판

제목 오늘에서야 깨닭았네요...
글쓴이 헛발이 작성시각 2012/04/14 11:27:43
댓글 : 5 추천 : 0 스크랩 : 0 조회수 : 8294   RSS
이렇게도 해보고 저롷게도 해보고
참 많은 스타일로 연습하고 있습니다만..

지금까지 항상 콘트롤의 __construct() 부분에 필요한 모델, 라이브러리, 언어등등을 로딩해서
사용했는데..

저는 코딩을 이렇게 하고 있었답니다...
예를 들어서 db에서 리스트를 불러와 화면에 보여주는것이라면

뷰에선 ul($query); 만을 합니다..

콘트롤에선 $data['query] = $this->userdata_lib->getAll(); 이렇게 라이프러리에서 처리를 하죠..

라이브러리에선 $query=$this->userdata_m->getAll(); 이렇게 모델에서 데이터를 가져와서
이렇게 저렇게 수정해서 콘트롤로 보내주죠...

이렇게 할 경우에 항상 고민이였던게... 고수님들은 웃으시겠지만...로딩하는게 고민이였죠..
과연 $this->load->model('userdata_m'); 이걸 어디에 쓰는게 좋을까 하고 고민이 많았죠...

대부분 정의는 콘트롤에서 하는게 좋을거 같아서 그래야 라이브러리나 핼퍼등에서 모두 로딩된것을
사용할수 있으니깐요...

근데 제가 느낀점은 저같은 코딩을 할경우엔 콘트롤에선 라이프러리만 불러쓰니 라이브러리만 로딩하고
라이브러리에서 모델을 로딩하는게 맞는거 같네요...

맞는지는 잘 모르지만... 콘트롤에 전부다 정의를 하는것이 능사는 아닌듯 싶네요...

음...

뭔소린지... @@
 다음글 초보 분들께 질문 드립니다. (9)
 이전글 온 가족 감기와 전쟁중 (8)

댓글

변종원(웅파) / 2012/04/16 10:03:02 / 추천 0
네. 필요한 곳에서 로딩하는 게 맞기는 한데 
항상 라이브러리로 만드시고 거기서 모델을 로딩해서 사용하세요?

관리 규모가 커서 그렇게 갈 수는 있는데 장단점의 경계에서 잘 컨트롤해서
써야 할 것 같습니다. 


한대승(불의회상) / 2012/04/16 10:11:23 / 추천 0
헛발이님 적절하게 잘 사용하고 계십니다.
라이브러리에 몰아 넣으면 관리가 한결 수월해 질거 같은데요.

저는 MVC패턴을 유지 하려 노력 하는편 입니다.
유지 보수나 인수인계에 좀 편하다고나 할까요?

정답은 없습니다. ^^
헛발이 / 2012/04/16 12:43:30 / 추천 0
이런 경우가 종종 생기더라구요...

다른 라이브러리의 혹은 다른 모듈속의 라이브러리를 사용하거나 모델을 사용하게 되면
정의를 콘트롤러에다 하니 정의가 안되서 또 정의 하게 되더라구요..

뭐... 정답은 없지만 가능하면 남보기에 부끄럽지 않게 하려고 저도 노력은 중입니다만..

ㅋㅋ

그게 저도 잘 안되네요 ㅋ
배강민 / 2012/04/16 13:13:21 / 추천 0

사용하는걸 적절히 분배해서 뭉쳐서 하면 좋긴한데

아무래도 그럼 불필요한 객체생성이 생겨서

전 가장 기본적인 90% 이상 모든 곳에서 사용하는 모델은 autoload시키고

그외 모델들은 컨트롤러 함수별로 필요한것만 따로 로딩합니다. 물론 관리가 문제되긴하지만서도..

관리자모드쪽에서는 퉁쳐서 생성자에서 해당 컨트롤러의 것들을 모두 로드하지만

프론트쪽은 각각 필요한것만 그중에서도 필요할때만 로드하도록 하고 있습니다.

뭐 극명한 장단점이 있는지라, 적절히 사용해야할 것으로 보입니다.

 

변종원(웅파) / 2012/04/16 15:52:20 / 추천 0
불상님 말씀처럼 정답은 없죠. ^^

실무에서는 그 상황에 맞는게 정답이니까요.
(원칙을 알고 상황에 맞게 쓰는게 정답이겠죠. ^^)