철학적 질문 OOP와 데이터베이스, 특히 클래스가 데이터베이스로 백업되는 프로그램의 경우이 접근 방법은 무엇입니까? 예를 들어 팀 클 래스에는 여러 플레이어가있을 수 있습니다. 이 프로그램은 시작시 데이터베이스에서 모든 팀 데이터를로드하고 메모리에서 모든 조작을 수행 한 다음 데이터베이스를 닫은 상태로 작성합니다. 또는 변경 사항이 발생할 때마다 각 데이터 조작을 데이터베이스에 작성하는 것이 더 낫습니다. 이것이 더 좋은 방법이라면 왜 데이터를 메모리에로드해야합니까?클래스와 데이터베이스를 사용한 프로그래밍
다른 문제는 데이터베이스가 표준 OOP을 한 가지 중요한 방법으로 깨뜨린 것 같습니다. OOP를 사용하는 플레이어 컬렉션이있는 팀 클래스에서 플레이어 클래스는 팀 이름을 보유 할 속성을 가질 필요가 없습니다. 플레이어는 자신이 속한 팀 클래스에서 팀 이름을 가져옵니다. 이제 플레이어를 데이터베이스에 저장하려면 각 플레이어 레코드에 팀 이름 (또는 팀 ID)에 대한 열이 있어야합니다.
즉, GetAllPlayers() 메서드가 필요한 경우 팀 클래스의 멤버 메서드로 만들거나 컬렉션의 모든 플레이어를 메모리에서 반환하거나 플레이어 클래스에서 정적 메서드를 만들겠습니까? 데이터베이스에서 모든 플레이어를 얻으려면?
누구나이 질문에 답변하는 방법에 대한 정보를 얻을 수 있습니까?
프로그래밍 수업을 듣고 나서 꽤 오래되었습니다. 누구나 여기서 가장 좋은 방법을 이해할 수있는 훌륭한 교과서를 알고 있습니까?
Hibernate/NHibernate를 살펴보십시오.그들은 이런 종류의 문제를 정확하게 풀려고합니다. 그것은 완벽하지 않습니다. 그것은 단순한 것이 아닙니다. 여기에서 관계형 데이터베이스를 기반으로 OO 코드를 작성하는 것이 얼마나 복잡한 지 알 수 있습니다. –