• 외부 라이브러리 사용하는 경우 언제든 라이브러리 교체가 가능하도록 분리해둘것.. (이 시점까지도 라이브러리 교체는 없었지만..;)
  • 라이브러리 유틸 <---> 구현체(라이브러리 유틸 참조 및 인터페이스 구현) <---> 비즈니스 로직 인터페이스

190423

SFTP 파일 배포, SSH Command 실행부분의 jSch 라이브러리 사용 로직 통합

  • 인터페이스를 사용하기엔 두 기능에 대한 세션 연결 코드가 일치함 (중복)
  • 다르게 구현되어야할 기능은 채널 open/close와 send(file)/run(command)
  • 세션 연결 코드는 공유하면서 다르게 구현할 부분만 구현할 수 있는 방법을 찾아야..
  • 방법은 추상 클래스 -> 추상 메소드는 채널 open/close, 구현 메소드는 세션 connect/disconnect
  • send(file)/run(command) 기능은 각각 상속받을 SSH, SFTP 관련 클래스에서 따로 구현