정적 컨텍스트에서 TileHandler를 호출하는 것이 최상의 디자인이 아닌 이유는 디자인의 구성 요소를 분리 할 수있는 분리하기 때문입니다.
앞으로 둘 이상의 TileHandler를 사용하기로 선택한 경우이 변경을 수용하기 위해 많은 작업을 수행해야합니다.
TileHandler를 제거하도록 선택하면이 변경 사항을 수용하기 위해 많은 작업을 수행해야합니다.
나중에 현재 TileHandler와 다른 방식으로 타일을 처리하는 다른 레벨 / 영역을 빌드한다고 가정하십시오. 그런 다음 사용할 타일 처리 방법을 지정하거나 다른 핸들러를 호출해야합니다.
TileHandler가이를 사용하는 객체에 매개 변수로 전달 된 경우 다음에 다른 것을 전달하거나 나중에이를 사용하는 객체에 다른 타일 핸들러를 설정할 수 있습니다.
개인적으로 정적 컨텍스트에서 XNA 게임의 많은 것들에 액세스하고 그 중 두 개 이상을 가질 수 없다고 가정합니다.
다음 게임에서 게임 엔진 코드를 재사용하려면 현재 정적으로 작성했던 많은 것들을 다시 작성해야 할 것입니다.
한마디로 :
정적 컨텍스트를 사용하지 않는 것을 선호합니다.
개체를 가능한 한 매개 변수로 전달하면 게임 요소가 분리되어 현재 또는 미래의 프로젝트에보다 쉽게 수정 / 재사용 할 수 있습니다. 또한 대량의 코드의 복잡성을 조금 더 쉽게 관리 할 수 있습니다 (대규모 게임에서 게임 클래스에 수백 명의 정적 관리자가 있다고 생각).
정적 컨텍스트에 찬성하여 :
정적 컨텍스트에서 객체를 선언하고 액세스하면 수백 명의 정적 관리자가 필요없는 작은 게임을보다 쉽게 작성할 수 있습니다. 정적으로 액세스되는 하나 이상의 추가 매개 변수가 필요하지 않으므로 많은 메소드와 생성자를 단순화합니다.