2017-01-02 8 views
0

이것은 스택 오버플로에 대한 나의 첫 번째 질문이다. 두 가지가 모두 사용되는 것을 보았 기 때문에 그것은 나를 흥미롭게하는 호기심입니다.개체를 '변환'하는 방법에 대한 규칙이 있습니까? (toX, fromY)

저는 MapFile 클래스와 Map 클래스가 있습니다. MapFile 객체는 Map 객체로 바뀔 수 있습니다. 이 중 어느 것이 바람직한 방법입니까? 있어요? MapFile.java에서

public Map toMap(){ 
    Map map; 
    // code to make a map 
    return map; 
} 

또는

감사

public static Map fromMapFile(MapFile f){ 
    Map map; 
    //code to make a map 
    return map; 
} 

Map.java

있다. 이 경우

public class MapFileToMapAdapter { 

    private MapFileToMapAdapter() {} 

    public static Map toMap(MapFile mapFile) { 
     Map map; 
     // propagate map 
     return map; 
    } 
} 

당신은 당신의 코드에서 느슨한 결합이있을 것이다 :지도 및 맵 파일이 서로를 알 수 없습니다

+0

AFAIK 아니요 (의견에 기반하여 투표를 끝내기로 결정하는) 그것에 관한 협약은 없습니다. 말하자면 "정적 인"방법은 단위 테스트를 작성할 때 인생을 고통스럽게 만들 수 있습니다. –

답변

1

선호하는 방법은 세 번째 유틸리티 클래스 MapFileToMapAdapter를 만들고 그것을 사용하는 것입니다.