2013-10-26 2 views
0

개발자는 항상 인터페이스를 개발하고 그 인터페이스를 구현해야한다는 것을 읽었습니다. 난 그냥 내가 할 수있는 두 가지 형식을 쓰고 있어요, 이제 말 ... 자바에서 디자인 패턴 이해하기

내가 중앙 클래스가 ... ProcessFile

을 것 같아요,이 빌더 패턴을 배우려고 ..하지만 여기 내 사용 사례입니다입니다 프로세스, 하나의 CSV 또 다른 JSON.

어떻게 이러한 클래스를 디자인해야합니까?

public interface CustomFormat{ 
    //couple of signatures 
} 
public class csv implements CustomFormat{ 

} 

public class json implements CustomFormat{ 
} 
public class ProcessFiles{ 
//somehow uses that CustomFormat interface?? 
} 

이 가장 좋은 방법이 뭐죠 구현 :

나는이 liek 뭔가 될 것 추측 무엇입니까?

+2

"전략 패턴"에 대한 google 및 몇 가지 유용한 예제를 찾을 수 있습니다. –

+0

잘 보이지만 응용 프로그램 구조가 일정하지 않은 경우 (동적 없음), 어떤 특정 패턴을 따르지 않는 것이 좋습니다. –

답변

0

이것을 구현하는 가장 좋은 방법은 무엇입니까?

인터페이스 이름에 Custom이라는 단어를 사용하지 않겠습니다. 어쩌면 FileFormat.java

public interface FileFormat { 

    public void setFormat(int quantity); 
} 

CSV.java

public class CSV implements FileFormat{ 

    @Override 
    public void setFormat(int quantity) { 
     // TODO Auto-generated method stub 

    } 
} 

JSON.java

public class JSON implements FileFormat{ 

    @Override 
    public void setFormat(int quantity) { 
     // TODO Auto-generated method stub 

    } 
} 
1

는 javaPlease42의 대답을 구축합니다. ProcessFiles의 이름을 FileProcessor 또는 그 라인의 이름으로 바꿀 것입니다. 어림짐작의 좋은 규칙은 명사를 사용하여 종류를 지명하고 명사가 할 수있는 것을 기술하기 위하여 동사를 사용하는 방법이다. 다음은 어떻게 생겼는지에 대한 예입니다.

public class FileProcessor { 

    public void process(CustomFormat file) { 
     // pass in the interface, that way you can use any implementing class 
     // like csv or json 
    } 

}