이미지 처리 소프트웨어를 사용하여 이미지를 처리 한 후에 저장할 형식을 선택해야합니다. 그러나 기본 수준에서 다양한 형식으로 구현 된 알고리즘은 동일하지 않으므로 전략 패턴에 맞습니다. 정책 패턴과 간단한 공장 패턴의 조합을 사용하여 개발하는 방법을 보여주는 프로그램을 작성하십시오.
아이디어는 다음과 같습니다.
1. 인터페이스를 사용하여 인터페이스를 정의하고 인터페이스에서 Save () 메소드를 정의하십시오.
2. 이미지 형식에 따라 다른 클래스를 정의하고 키워드 구현을 사용 하여이 클래스에서 인터페이스를 구현하십시오.
3. 선택을 구현하는 클래스를 만들고,이 클래스에서 선택을 구현하는 메소드를 정의하며, 메소드의 반환 값은 해당 이미지 저장 클래스입니다.
4. 기본 방법에서 인터페이스를 구현하십시오.
코드는 다음과 같습니다.
코드 사본은 다음과 같습니다.
Public Interface ImagesAver {
void save (); // save () 메소드를 정의합니다
}
공개 클래스 gifsaver는 imagesver {
@보수
public void save () {// 구현 save () 메서드
System.out.println ( "그림을 GIF 형식으로 저장");
}
}
공개 클래스 jpegsaver 구현 images baver {
@보수
public void save () {
System.out.println ( "JPG 형식으로 사진을 저장");
}
}
공개 클래스 pngsaver는 images baver {
@보수
public void save () {
System.out.println ( "PNG 형식으로 사진을 저장");
}
}
공개 클래스 tychooser {
public static imagesaver getsaver (문자열 유형) {
if (type.equalsignorecase ( "gif")) {// 다른 if 문을 사용하여 이미지의 유형을 결정합니다.
새로운 gifsaver ()를 반환합니다.
} else if (type.equalsignoreCase ( "jpeg")) {
새로운 jpegsaver ()를 반환합니다.
} else if (type.equalsignorecase ( "png")) {
새로운 pngsaver ()를 반환합니다.
} 또 다른 {
널 리턴;
}
}
}
공개 클래스 사용자 {
public static void main (String [] args) {
System.out.print ( "사용자는 GIF 형식을 선택했습니다 :");
imagesaver saver = typechooser.getSaver ( "gif"); // 이미지를 gif 유형으로 저장하는 객체를 얻습니다.
Saver.save ();
system.out.print ( "사용자가 선택한 jpeg 형식 :"); // 저장된 이미지를 jpeg 유형 객체로 가져옵니다.
Saver = typechooser.getSaver ( "jpeg");
Saver.save ();
System.out.print ( "사용자 선택 PNG 형식 :"); // 이미지를 PNG 유형으로 저장하는 객체를 얻습니다.
Saver = typechooser.getSaver ( "png");
Saver.save ();
}
}
효과는 그림에 나와 있습니다.