나는 계속해서이 문제에 직면 해있다. 내 접근 방식이 맞지 않은지 나는 모른다. 내가 일하는 프로젝트의 코드베이스는 오래된 것이 아니며 수십 개의 다른 클래스가 현재 생성자를 사용하기 때문에 빌더 패턴이나 정적 팩터 리로 현재 생성자를 변경할 수 없습니다.최소 효과를 가진 기존 클래스에 생성자 추가하기
현재 생성자라고합니다.
// Constructor used until now
public MatchingPortfolioUtil(Integer parameterA, Integer parameterB,
Integer parameterC)
{
this.parameterA = parameterA;
this.parameterB = parameterB;
this.parameterC = parameterC;
}
다음 생성자를 추가하고 싶습니다.
// The new constructor
public MatchingPortfolioUtil(Integer parameterA)
{
this.parameterA = parameterA;
}
지금까지, 모든 것이 정상적인 것 같습니다하지만 나는 (좋은 디자인 가능한 경우) 원하는 것은 내 새 모듈 용으로 만든 생성자, 그것은 일부 발생할 수 있기 때문에 내 새 모듈을 사용하는 경우에만해야한다는 것입니다 누군가 다른 모듈에서이 생성자가 안전하다고 생각하여 예외를 사용하면 예외가 발생합니다.
프로젝트에서만 사용하려는 경우 기존 클래스의 하위 클래스를 만들고 거기에 생성자를 추가하십시오. – Jens
@Jens 현재 클래스의 하위 클래스를 만드는 경우 super와 함께이 생성자를 다시 사용해야합니다. 나는 깨끗한 해결책이 있다면 기대하고있다. –
왜 생성자 (which)를 다시 사용해야합니까? – Jens