ASP.Net MVC로 작업 한 후에 레일즈에 대해 생각하고 있습니다. 이전에 레일스와 함께 작업했지만 약간 녹슬 었습니다. 저장소 패턴으로 숨겨진 데이터 계층 구현을 ASP.Net MVC 자습서 recomment. 이것은 단위 테스트를위한 easiesr Dependency Injection과 모델 구현으로부터의 컨트롤러의 훌륭한 분리를 가능하게합니다.저장소 패턴이있는 Ruby on Rails?
레일즈의 컨트롤러는 액티브 레코드 개체를 직접 사용하고 테스트 데이터베이스를 사용하여 단위 테스트를 설정하고 손쉽게 분해 할 수 있음을 기억합니다. 이는 단위 테스트를 위해 교체해야 할 필요성을 해결하지만 컨트롤러에 많은 ActiveRecord 코드가 노출되는 것은 여전히 바람직하지 않은 것처럼 보입니다.
제 질문은 여기에 최신 베스트 프랙티스가 무엇입니까? 실제 (조롱되지 않은) 데이터베이스는 여전히 단위 테스트에 사용됩니까? Rails 개발자는 ActiveRecord를 직접 호출하거나 추상화를 호출합니까?
예 1000x는 데이터 계층을 구성합니다. 벤더 특정 SQL 문자열을 사용하는 것과는 완전히 밀접한 결합은 아니지만 AR 클래스는 대 부분의 경우 데이터베이스 테이블과 1을 1로 매핑합니다. 이것은 (일반적으로 레일의 경우에 해당됩니다) 비즈니스 오브젝트와 db 테이블간에 차이가없는 프로그래밍 스타일을 장려합니다. RP는 이러한 구분을 위해 특별히 고안되었습니다. – Jonah