[Refactoring] 서로 다른 인터페이스의 대안 클래스들


[Refactoring] 서로 다른 인터페이스의 대안 클래스들

비슷한 일을 여러 곳에서 서로 다른 규약을 사용해 지원하고 있는 코드 냄새 대안 클래스로 사용하려면 동일한 인터페이스를 구현하고 있어야 한다. 함수 선언 변경하기와 함수 옮기기를 사용해서 서로 동일한 인터페이스를 구현하게끔 코드를 수정할 수 있다. 두 클래스에서 일부 코드가 중복되는 경우에는 슈퍼클래스 추출하기를 사용해 중복된 코드를 슈퍼클래스로 옮기고 두 클래스를 새로운 슈퍼클래스의 서브 클래스로 만들 수 있다. 서로 다른 인터페이스의 대안 클래스들 public class OrderProcessor { private EmailService emailService; public void notifyShipping(Shipping shipping) { EmailMessage emailMessage = new EmailMessage(); emailMessage.setTitle(shipping.getOrder() + " is shipped"); emailMessage.setTo(shipp...


#리팩토링 #백기선 #인프런 #자바 #코드

원문링크 : [Refactoring] 서로 다른 인터페이스의 대안 클래스들