엔티티, 가치 객체 또는 그게 무엇이며 어디에 있어야합니까?
-
20-09-2019 - |
문제
'도구'라는 수업이 있습니다. 도구에는 이름, 설명 및 일부 특정 다른 속성이 있습니다. 이름과 다른 사람은 읽기 만하면 도구가 특별하지만 사용자는 설명을 수정할 수 있습니다.
도구 수는 개발 시간에 일정하고 알려져 있습니다. 쿼리를 쿼리하고 설명을 업데이트 할 수있는 곳에 표시해야하기 때문에 값 객체가 아닙니다. 따라서 일종의 엔티티이지만 사용자는 새로운 도구를 만들 수 없습니다.
나는 다음과 같은 도구를 가져갈 가능성을 찾고 있습니다.
Tool.SomeGreatTool
"일부 위대한 도구"라는 이름의 도구 인 경우, 설명은 사용자가 지정한 것과 동일해야합니다.
Jimmy Bogard는 거의 완벽한 솔루션을 가지고 있습니다 그러나 nhibernate는 몇 가지 GreatTool에 대해 알고 있으며 설명은 무일하게됩니다.
지미의 솔루션을 수정하는 방법 또는 다른 방법으로 수행하는 방법은 무엇입니까? 데이터베이스에서 몇 가지를 인스턴스화하는 방법은 무엇입니까?
해결책
우리는 여전히 이러한 종류의 반 고정 데이터를 일종의 잘 알려진 엔티티로 취급합니다. 도구 유형에 대한 값 객체/열거 클래스를 만듭니다. 그러나 도구와 별도의 도구 유형을 만듭니다. 툴 레피터리 (Tooltype.Find) (ToolType.ScRewDriver)와 같은 일을하려면 영구 상점으로 가야합니다. 도구 유형 당 하나의 도구 만 있으면 여전히이 두 개념을 분리합니다.
제휴하지 않습니다 StackOverflow