복잡한 데이터 형식에 접근자를 사용해야합니까? 다음은 예입니다.복잡한 데이터 형식에 접근자를 사용해야합니까?
Player
클래스가 있고 그 안에는 Sprite
개체가 있습니다. Sprite
개체에 setPosition()
접근 방법이 있다고 가정 해 보겠습니다. 이제 플레이어를 통해 해당 메서드를 호출하고자하므로 Player
에 Sprite
개체에 대한 접근자를 만듭니다. 이제
class Player
{
public:
const Sprite& getSprite() const;
private:
Sprite sprite;
}
내가 어떻게 sprite
에 setPosition
을 부릅니까, 이제 나는 '플레이어'개체를 만드는 가정 해 봅시다? 나는 Sprite
참조 getSprite()
메서드를 반환하기 때문에 단지 playerObject.getSprite().setPosition();
라고 말할 수 없다. const이다.
sprite
개체가이 개체의 구성원에 대해 보호되어 있다고 생각하면이 상황에서 sprite
개체를 공개해야합니까? 아니면 악습이고 접근자를 사용해야합니까?
[솔리드] (http://en.wikipedia.org/wiki/SOLID_ (object-oriented_design)) 원칙을 고려해야한다. 모듈화 및 코드 유지 관리의 관점에서 볼 때 질문에 대한 대답은 명시 적으로 요구하는 질문과 다를 수 있습니다. 우선, 게임 로직을 프리젠 테이션 (스프라이트 등)과 분리하고, –