Temporal Coupling

  • 시간적 결합이란? 여러 함수(또는 메서드)가 반드시 특정한 순서로 호출되어야만 올바르게 동작하는 상황
  • 함수들이 순서를 지키며 호출되어야 한다.

문제점:

  • 함수 간 호출 순서에 대한 의존성이 높아지면, 코드의 재사용성과 유지보수성이 떨어집니다.
  • 잘못된 순서를 강제로 막을 방법이 없어, 실수로 순서를 어기면 오류가 발생할 수 있습니다.

Passing a Block

fileCommandTemplate-process(myfile, new FileCommand() {
	public void process (File f) {
	// file processig codes here
});
 
class FileCommandTemplate {
	public void process(File file, FileComnand command) ‹
		file. open();
		comnand.process(file);
		file. close();
	}
}