웹 응용 프로그램을 작성 중이며 스스로 해체 된 개발자임을 밝히고, 일을 빨리 작성하고 나중에 유지 관리에 대해 걱정합니다. 나는 현재 laravel로 작업 중이며, 데이터베이스 상호 작용이 상당히 많습니다. 예를 들어 컨트롤러의 데이터베이스 개체와 직접 상호 작용하는 것 같습니다. 이것이 최선의 선택인가, 아니면 해당 관련 검색어에 대한 모델의 함수에서 이러한 웅변 메서드를 래핑하기 위해보다 체계적으로 구성되어 있는지 여부입니다. 예 :웅변 ORM 컨트롤러 또는 모델
class HomeController extends \BaseController {
public function index()
{
$user = User::find(1);
return $user;
}
}
이 더 나은
class HomeController extends \BaseController {
public function index()
{
$user = new User;
$result = $user->getSingleUser(1); //Being a method in the User.php model
return $result;
}
}
나는이 아주 아주 기본적인 예를 실감하지만, 조직의 목적을 위해 데이터베이스와 멀리 컨트롤러에서 "비즈니스 로직을"분리해서하는 것이 가장 좋습니다로 제공 될 것입니다 ?
실제로 "모델 레이어"는 [전체] (http://martinfowler.com/eaaCatalog/serviceLayer.html)입니다. 당신이 언급 한 것은 보통 "도메인 계층 (domain layer)"또는 "도메인 모델 (domain model)"이라고 불리는 프레임 워크가 아닌 문헌입니다. –
당신이 이것을 어떻게 부르는지 느껴보십시오. 디커플링과 분리는 옳은 방법입니다. 물론 프레임 워크의 모델은 전체 일 수 있지만 비즈니스 로직을 나타내지 않는 클래스를 모델이라고 부를 수 있습니까? ;-) –
어디에서 전화 하시겠습니까? "모델"은 수업이 아닙니다. –