복잡하고 불필요한 것처럼 보입니다. 직장이나 집에서 구축 한 애플리케이션은 ORM을 전혀 사용하지 않았으며 많은 객체가 객체 지향적이지 않았습니다. 그들이 유용 할 수있을 때 크기에 대해 영향을받지는 않습니까? 응용 프로그램이 유용 할 때 응용 프로그램의 크기를 결정하는 방법은 무엇입니까?객체 관계 맵퍼가 성배입니까?
답변
은탄 총알이 없다. 나는 당신이 그것을 많이 들었음에 틀림 없다고 확신합니다. 그러나 그것의 진실. ORM은 Object-Relational Impedance mismatch으로 인해 유용합니다.
ORM을 사용하면 프로그래밍 언어로 데이터베이스를 생각하거나 프로그래밍 할 수 있습니다.
그래, 그게 가장 좋은 부분이야. 모든 것은 단순한 객체입니다. 더 이상 SQL 문자열 .. – poo
당신은 O/RM 필요 없지만, 어느 쪽도하지 않는 당신은 C#이나 C++와 같은 높은 수준의 프로그래밍 언어를 필요합니까, 당신은 단지 어셈블리를 사용하여 응용 프로그램을 작성할 수 있습니다. 그 좋은 옛날 ;-)
으로 ORMs 똑바로 위로 SQL 쿼리 실행을 통해 뚜렷한 장점이 있습니까 : 오래된 상태를 확인하기 위해
이- 저장/업데이트/전체 개체 그래프 개체의
- 버전을 삭제를
- 더 나은 코드의 유지 보수 및 컴파일 시간을 확인 (SQL 쿼리 마법 문자열)
- 이 개체 모델에서 데이터베이스 스키마를 생성 할 수
- 는
- 매핑이 날짜는 객체에 테이블을 매핑 비록
- 으로 유지해야합니다 , 당신은 여전히 알 필요가 설정 시간의 상당한 양을 필요 :
그러나, 그들은 몇 가지 단점이 있습니까 (대량 작업을 수행 할 때 만 명백한)
전체
Padmarag says과 마찬가지로 ORM은 은색 총알이 아닙니다. 당신은 상당히 복잡한 (객체 지향) 도메인 모델이있는 경우
당신은 Object database를 사용하여 더 나을 수 있습니다.
요즘 ORM-Mapper는 RDBMS와 통신하는 방법입니다. 그러나 모든 응용 프로그램에서 RDBMS가 필요하지는 않습니다. 사용하기에 더 적합한 NoSQL-Solutions가 여러 개 있습니다.
그러나 내가 ORM을 선호하지 않는 사용 사례가있다 : 일괄 처리보고 : 여기가 성능에 대한 질문 쿼리의 복잡성 또한 질문입니다. 이러한 시나리오에서는 저장 프로 시저를보다 적절하게 사용할 수 있습니다.
- 1. 객체 관계
- 2. 객체 관계 매핑의 단점
- 3. 데이터 맵퍼가 도메인 모델을 참조해야합니까?
- 4. 루비 - 클래스/객체/메소드의 관계
- 5. JAXB 및 여러 객체 관계
- 6. HTML을 생성하는 객체 관계 그래픽 컨트롤
- 7. 동일한 테이블에서 객체 간의 관계 매핑
- 8. 객체 관계 매핑 방법론에 관한 이론
- 9. 관계 데이터베이스 + ORM 또는 객체 지향 데이터베이스?
- 10. 많은 관계
- 11. OneToOne 관계
- 12. symfony 객체 대신 다 대다 관계 루프 속성
- 13. 레일스 활성 레코드 ID 대 객체 ID + 활성 :: 관계
- 14. 특수한 경우 .NET 객체 - 관계 임피던스 불일치 처리
- 15. 관계
- 16. 관계
- 17. 관계
- 18. 관계
- 19. 1 대 다수 관계
- 20. 그래픽 관계 맵?
- 21. 엔티티 관계 다이어그램 - 관계 강도?
- 22. 엔티티 관계 모델 : 삼자 관계
- 23. "관계"대 RDBMS/SQL의 "관계"?
- 24. 버튼으로 관계 추가
- 25. ColdFusion에서 9 ORM은 관계
- 26. ORM에서의 관계 작업
- 27. Protege-OWL 편집기의 관계 표시
- 28. ActiveRecord :: 관계 문제
- 29. 문제 관계 <여기서 =
- 30. 오브젝트 간의 몽고 DB 관계
이 답변은 주관적이므로 커뮤니티 위키 질문으로 표시해야합니다. –
이 주제에 대해 이미 질문이 있습니다. 검색하십시오. – Padmarag
소프트웨어 개발 목표가 있습니까? 그것이 주관적이라고 생각하지 마십시오. – poo