2011-05-01 3 views
0

코코아의 속성을 가진 간단한 데이터 객체를 표현하는 가장 적합한 방법이 무엇인지 명확하지 않습니다.자바 빈은 코코아에 있습니까?

Java에서 Java bean은 이러한 오브젝트를 구현하는 데 많은 의미가 있습니다. 오브젝트의 모든 특성을 선언하고 이러한 특성 각각에 대해 getter 및 setter를 작성하십시오.

코코아에서 우리는 같은 접근법을 따를 수 있습니다. 하지만 NSDictionary를 사용할 수도 있습니다. 언제 어떤 접근 방식이 가장 적합합니까?

구체적인 예를 들면 : 차축 수와 색상이라는 두 가지 속성을 가진 차량을 표현하는 가장 적절한 방법은 무엇일까요? NSObject를 서브 클래스하고 두 개의 속성 numberOfAxles와 color를 가진 Vehicle 클래스를 생성합니까? 두 개의 키가있는 NSDictionary의 하위 클래스를 만드시겠습니까?

전 접근 방식이 내게 더 깨끗해 보였지만 Apple (예 : UICatalog)의 코드 샘플을 보면 데이터 소스를 나타내는 모든 사전을 볼 수 있습니다. 이상하게 보입니다. NSDictionary가 데이터 객체를 표현하는 빠르고 더러운 방법을 제공하기 때문에 그렇습니다. 단순하고 독립적 인 예제의 맥락에서 실용적입니다.

답변

0

차량을 단순히 표현하고 싶다면 (미래의 확장자가없고 기능이없는) 사전을 사용하는 것이 좋습니다. (비록 Vehicle 클래스를 사용 하겠지만)

또한 apple의 예제는 API/SDK 사용법만을 보여줍니다. 99 %의 경우 그들은 디자인 패턴이나 객관적인 언어를 가르치는 것을 목표로하지 않습니다.

0

주로 원하는 것에 따라 다릅니다. 간단한 데이터 구조 만 저장하면 NSDictionary이 좋습니다. 데이터 구조에 논리를 추가하려면 클래스를 사용하십시오.

+0

나는 "잘 정의 된 속성을 가진 잘 정의 된 개체이거나 아무것도 할 필요가 없다면 반드시 클래스 여야합니다. 클래스의 속성으로 일반 컨테이너를 사용하고, 잘 정의 된 클래스 대신 사용하십시오. " –