2012-01-24 3 views
0

이 항목을 적절한 제목으로 사용할 수 없습니다. 죄송합니다. 정적 필드의 이점과 대상에 도달 할 때까지 계속 전달하는 인수가 궁금합니다.정적 변수 대 인수 전달

예 : 정적을 유지하기 위해 반대

XNA가 업데이트 기능

protected override void Update(GameTime gameTime) 
    { 
     base.Update(gameTime); 
     world.Update(gameTime); 
    } 

    //in World class 
    public void Update(GameTime gametime) 
    { 
     //draw all game objects 
     for (int i = 0; i < entities.Count; i++) 
     { 
      entities[i].Update(gametime); 
     } 
    } 

에서 자식 함수로 전달되는 유지 자신의 프레임 워크에 GameTime을 사용하여이 일을 어떤 혜택이 있나요 변수 gametime 어딘가에, 루트 클래스의 다른 것들보다 먼저 업데이 트하고 자식 클래스에서 그 정적 변수에 액세스 할 수 있습니다.

필자는 인수 전달이 라이브러리에서 사용되는 것을 항상 봅니다. 그러나 어딘가에 정적으로 두는 것이 훨씬 더 "편리한"것처럼 보입니다.

답변

0

이 정적 필드는 클래스의 모든 인스턴스와 공유됩니다. 정적 및 변경 가능은 신중하게 통제하지 않는 한 위험한 혼합물을 제공합니다. 모든 사람들이 변화를 필요로하지 않는 한, 누구도 그 분야에 손을 뻗쳐 그 분야를 만지기를 원하지 않습니다.

0

매개 변수를 삽입 할 때 메서드를 쉽게 테스트 할 수 있습니다. 예를 들어 가짜 GameTime 객체를 사용하여 동작을 시뮬레이션 할 수 있습니다.