소프트웨어 악취 를 제거 하 는 리팩토링 : 3 . 7 . 7 현실 적 인 고려 사항 
 변형 수용 
 중복 된 추상화 가 생기 는 이유 로 동기 화 와 비동기 화 변형 의 지원 을 들 수 있 다 . 추상화 의 동기 화 된 버전 은 동기 화 생성자 를 아주 많이 사용 하 는데 , 이것 은 중복 된 추상 화 악취 로 고통 받 는 두 가지 변형 에 대응 하 는 독자 적 인 추상 화 생 성 으로 이어질 수 있 다 . 이런 예 는 메 서드 정의 가 유사 한 java . util . Vector 와 java . util . ArrayList 클래스 에서 볼 수 있 다 . 두 클래스 사이 에서 드러나 는 주 된 차이 는 Vector 는 스레드 에 안 전하 고 , ArrayList 는 스레드 에 안 전하 지 않 다는 것 이 다 . 
 다양 한 맥락 에서 타입 이름 중복 
 더 큰 도메인 을 분석 하 고 모델링 하 여 통합 된 도메인 모델 을 생성 하 기 는 어렵 다 . 실제로 “ 대 규모 시스템 을 위한 도메인 모델 의 완벽 한 통합 은 실현 가능 하 지 않 거나 비용 이 효율 적 이 지 못할 것 이 다 . ” [ 17 ] 도메인 주도 설계 가 제공 하 는 한 가지 해법 으로 대 규모 시스템 을 ‘ 경계 가 있 는 맥락 ’ 으로 나눌 수 있 다 . 이런 접근 방법 은 다양 한 맥락 에서 결과 모델 이 이름 타입 을 동일 하 게 만들 수 있 다 . 경계 가 있 는 맥락 은 대 규모 도메인 의 모델링 이 라는 더 큰 문제 를 다루 는 데 도움 을 주 는 패턴 중 하나 이 므로 , 다양 한 맥락 에서 이름 이 동일 한 타입 은 받아들일 만 하 다 .