JCL을 생성하는 데 Java를 사용하고 있습니다. 데이터 정의 문을 추가하는 네 가지 방법이 있습니다. 하나는 char, 하나는 문자열, 하나는 array (Strings)를 받아 들인다. 그리고 다른 하나는 두 번째 매개 변수에 아무 것도 없다.(자바) 오버로딩 : 얼마나 많은가?
public void addDD (String label, char classChar) //Generates: SYSIN DD SYSOUT=[classChar]
public void addDD (String label, String dataset) //Generates: SYSIN DD DSN=[dataset]
public void addDD (String label) //Generates: SYSIN DD DUMMY
public void addDD (String label, String datasets[]) //Generates: SYSIN DD *
// DSN=[datasets[0]],
// DSN=[datasets[1]]
이러한 메서드는 다른 매개 변수 유형을 받아들이지 않습니다. 유형에 따라 전체 메소드가 변경됩니다. 문자열 인 경우 "DSN ="이 필요합니다. char 인 경우 "SYSOUT ="이 필요합니다. 동시에 클라이언트가 이러한 각 시나리오에 대해 다른 메소드 이름을 사용하는 것에 대해 걱정하지 않기를 바랍니다.
현재 디자인이 좋지 않다고 생각합니까?
빌더 패턴에 대한 정보 http://www.javacodegeeks.com/2013/01/the-builder-pattern-in-practice.html – Prateek
입력 해 주셔서 감사합니다. 빌더 패턴은 확실히 좋은 생각 일 것입니다.하지만 슬프게도 이것은 이미 하나의 일부이며 너무 혼란 스러울 수 있습니다. –
별도의 DD 클래스 및 빌더가 유용 할 수 있습니다. 당신은 간단한 경우를 위해 아주 기본적인 addDD를 유지할 수 있지만 더 복잡한 것을 위해 addDD (DDdef ddDef)를 추가하십시오. DD 형식에는 많은 변형이 있습니다. 현재 메서드를 사용하는 많은 메서드가 필요합니다. –