CI 묻고 답하기

제목 MVC 에서 "처리로직" 이 위치해야할곳은 어디인가?
카테고리 CI 2, 3
글쓴이 강남원 작성시각 2017/08/15 18:04:46
댓글 : 5 추천 : 0 스크랩 : 0 조회수 : 12792   RSS

이번에 새로가입한 사람입니다.

문득 생각이 들어서 질문드립니다.

 

웹 어플리케이션을 개발하면 CRUD 는 기본입니다. 그리고 이그나이터는 CRUD 에 관해서는 아주 잘 정리되어있습니다.

하지만 비즈니스 로직은 어떻게 해야하나요?

결국 C 를 행하기위해서 수많은 작업이 행해질탠대요 

 

예를들면 어떤 상품의 최저가를 데이터베이스에 기록하고 그 가격을 사용자에게 보여주는 어플리케이션이있을경우

어플리케이션은 사용자에게 상품명을 입력받고 그 상품명을 더나와 , 욱션 , Z마켓 등 에서 찾아본후에 각각 비교해서 최저가를 산출해낸후

마지막에 데이터베이스에 입력하는데요 제가궁금한건 <찾아본후 , 비교해서 > 의 코드 즉 비즈니스로직 을 MVC 에서 어디에 코딩해야하나요? 

 

 

 다음글 게시글을 클릭했을 시 해당 게시글이 존재하는 페이지로 ... (2)
 이전글 php7에서 MongoDB 접근할때 에러 발생 (1)

댓글

변종원(웅파) / 2017/08/15 19:37:06 / 추천 0

비지니스 로직은 컨트롤러에서 작업합니다.

찾아오라고 모델에 명령하고 비교하라고 모델에 명령하여 처리합니다.

모델은 단순히 db 입출력만 처리하는게 아니고 데이터에 관한 것을 모두 처리한다고 생각하시면 정리가 쉽습니다.

그리고 상황에 따라 모델에 비지니스 로직이 들어갈 수도 있습니다. 

kaido / 2017/08/16 09:08:31 / 추천 0

사실 간단하게 이야기 하면  프로세스처리는 컨트롤러. 데이터는 모델. 디스플레이는 뷰.

이렇게 정리 하고있습니다만, 이게 전부는 아니긴 합니다.

관점을 하나 더 넣어서 보면...

 

컨트롤러와 뷰는 형체와 영혼이 있고, 라이브러리는 형체가 없다고 저는 정의하고있습니다.

[물론 만들기에 따라 다르긴 합니다.]

 

비지니스 로직이라 함은 반복되는 어떤 프로세스의 모임인데, 형체가 있는것을 분리하고 형체가 없이 영혼만 있는 것을 저는 라이브러리화 합니다.

 

그리고 컨트롤러에서는 불러오기만 하죠.

컨트롤러는 복잡해서는 안되며, 간결해야 하기 때문이죠.

강남원 / 2017/08/16 09:37:16 / 추천 0

두분감사합니다.

사실 아직 코드이그나이터를 메뉴얼을 읽는중이고 사용은 안해봤지만 매우 좋을거같네요

기존에는 뷰php -> 자바스크립트(컨트롤러) -> 에이작스php(컨트롤러) -> 클래스.php(모델,여기에 비즈니스로직을넣음)->클래스이름.db.php(여기에서 DB관련작업을 행함)  

 

이었는데 어떤구조로 짤지 기대되는군요

전상민 / 2017/08/16 10:58:34 / 추천 0

전 비지니스 로직을 서비스 레이어로 분리해서 개발합니다.

컨트롤러에서는 서비스 레이어에 작성한 클래스를 사용(호출) 하구요.

이렇게 하면 테스트 코드 작성도 용이해지고 기능을 트랜잭션 단위로 묶을 수 있어서 편하더라구요.

강남원 / 2017/08/16 11:51:07 / 추천 0
역시 컨트롤러에 비즈니스 로직을 삽입하는건 저도 꺼려지는군요 별도로 작성한후에 호출하는게 제일인듯 -.-b