2014-07-17 2 views
0

pojo 클래스에서 속성을 사용하는 것이 가장 좋습니다. 기본적으로 pojo 클래스에는 private 필드에 getters/setter가 있습니다. 속성을 조작하기는 쉽지만 유연성은별로 없습니다 (추가 속성을 추가하려면 최소 하나의 클래스를 변경해야합니다).getter/setter 또는 속성에 대한지도

그러나 속성 (특히 너무 많은 속성이있는 경우)을 사용하여 Collection (지도, 집합 등)을 사용하는 또 다른 옵션이 있습니다. 이 경우 우리가 새로운 속성을 추가하고 싶다면 클래스를 변경할 필요가 없습니다.이 옵션의 나쁜 점은 제 생각에 키 실수로 인해 어떤 종류의 속성을 얻는 것이 조금 더 어려워 질 것이라는 것입니다. 이 주제에 대해 적용 할 수있는 모범 사례는 무엇입니까?

답변

2

내 의견으로는이 옵션이 좋지 않은 것은 키 실수로 인해 일종의 속성을 얻는 것이 조금 어려울 것이라는 점입니다.

그건 입니다. 그 중 하나는입니다. 또 하나는 존재하지 않는 속성을 사용하면 컴파일 타임 오류 대신 런타임 오류가 발생한다는 것입니다. 그리고 모든 속성 값이 같은 유형이 아니라면 형식이 지정되지 않은 컬렉션을 사용하고 모든 곳으로 모든 것을 캐스팅하거나 (f = (int)obj.get("foo");) 여러 개의 입력 된 컬렉션을 사용해야하며 항상 올바른 값 (f = obj.getInt("foo");)을 사용해야합니다.

이 주제에는 어떤 모범 사례가 적용될 수 있습니까?

이름 - 값 쌍 모음이 아닌 적절한 속성을 사용하십시오. :-)

관련 문제