제목에서 알 수 있듯이, 이것은 의미가 없습니다. 시나리오를 상상해보십시오 :레일즈 추상 클래스 has_many
다음 모델을 가지고 있습니다 : Game
, GameType
및 Champion
. 특정 GameType
(MOBA와 같은)의 게임 만 Champion
모델에 대한 has_many
관계를 갖기를 바랍니다. (FPS 등의) 다른 것들은 그렇지 않을 것입니다.
내 첫 번째 경향은 GameTypeMoba
추상 클래스를 만드는 것이 었습니다.이 클래스에서 상속받은 모든 클래스는 속성을 가질 수 있습니다 (예 : 챔피언 포함). 그러나 테이블에 묶여 있지 않은 클래스는 테이블 관계를 가질 수 없기 때문에 이것이 의미가 없다는 것을 알고 있습니다. 더구나, 어떻게 든 그것을 함께 해킹 할 수 있다면 그것은 단지 엿 같은 WET (DRY 반대) 접근법처럼 보인다.
누군가가 에에 지저분한 앱 로직이 포함되어 있지 않은 간단한 해결책이 있기를 바랍니다. 이 시점에서도 나는 "지체를 용인하십시오."라고 받아 들일지라도.
'GameType'이'MOBA' 일 때 왜'has_many'를 무시할 수 없습니까? – Mischa
그래, 그 해결책은, 내 건축/디자인의 결함을 지적하기를 바랬다. – anxiety
좋아요,이 방법은 다음과 같습니다. 아키텍처/디자인의 결함은 아키텍처를 필요로하지 않는 아키텍처를 시도한다는 것입니다. – Mischa