[디자인 모델] 원형 모델

1324 단어
정의: cloneable 인 터 페 이 스 를 실현 합 니 다. new 대상 을 통 해 나 오지 않 고 대상 을 복사 하 는 모델 을 원형 모델 이 라 고 합 니 다.
다음 예 를 보십시오.
import java.util.Random;

public class Main {

	public static void main(String[] args) {
		Mail mail = new Mail();
		mail.setMailTitle("XXX");
		for (int i = 0; i < 10; i++) {
			Mail cloneMail = mail.clone();
			Random random= new Random();
			cloneMail.sendMail(random.nextInt(15)+"");
		}

	}

}

class Mail implements Cloneable {
	private String title;

	public void setMailTitle(String title) {
		this.title = title;
	}

	public void sendMail(String content) {
		System.out.println(title + ":" + content);
	}

	@Override
	protected Mail clone() {
		Mail mail = null;
		try {
			mail = (Mail) super.clone();
		} catch (Exception e) {
			e.printStackTrace();
		}
		return mail;
	}

}

실행 결 과 는 title 이 변 하지 않 고 내용 이 크게 달라 집 니 다.
cloneable 인터페이스의 실현 clone () 을 자세히 관찰 하고 대상 을 복사 합 니 다. 이 방법 은 주로 Mail 에 대해 clone 을 진행 합 니 다.
이렇게 하 는 장점 은:
1. 성능 이 우수 하고 원형 모델 은 메모리 에서 직접 바 이 너 리 복사 하 는 것 으로 직접 new 대상 보다 속도 가 훨씬 빠 릅 니 다. 특히 대량의 순환 에서
2. 구조 함수 의 제약 을 피하 고 직접 메모리 복사 이 며 함수 에 닿 지 않 아 도 됩 니 다.물론 구속 을 줄 이 는 것 이 단점 이다.
사용 중 에 자신의 상황 에 따라 합 리 적 으로 응용 하 다.
필드 설명 사용:
보통 여러 개의 수정 자가 있 는 장면 에 사용 되 며 초기 화 에는 많은 자원 이 필요 합 니 다.

좋은 웹페이지 즐겨찾기