1. 상속을 생각하시나요?
– 슈퍼클래스에 메소드를 추가하면 일부 서브클래스 부적절한 행동 추가존재하다
2. 인터페이스를 고려하시겠습니까?
– 교집합을 상속하고 인터페이스에서 차이를 빼면?
-> 동작을 변경할 때마다 하위 클래스의 모든 코드 모든 + 가능한 버그 수정 시도
-> 코드가 구현되지 않았기 때문에 코드가 재사용 불가
3. 패키지!
부품 변경혼자 꺼내 캡슐화.
나중에 변경됨, 부분 X가 X에 영향을 미침
O에서 변경되는 부분만 수정 또는 확장
– 변경된 부분을 나머지 부분과 분리
– 동작을 나타내는 새로운 클래스 집합을 만듭니다.
<- 각 동작을 구현하는 모든 메서드에 넣습니다.
구현이 아닌 인터페이스에 대한 프로그래밍
= 위 표에 따르면 프로그램 작성
– 클래스에서 동작을 구체적으로 구현할 필요 없음
– 다형성을 사용해야 함
1. 행동 변화에 대해 재활용
2. 메인 클래스를 만지지 마십시오. 편집 가능
4. 통합 포장 행태”인정 받은“
– 인터페이스 유형의 인스턴스 변수 추가 => 특정 동작 참조는 저장됨
서비스 서비스;
서비스.티…
– 동작 변경 항목을 제거하고 인터페이스로 이동했기 때문에 관련 메서드를 제거했습니다.
– 이 메서드를 정의하는 메서드 만들기
-> 추가 인스턴스 변수로 참조 객체행동을 취하다 인정 받은
5. 동작을 동적으로 지정
– 메인 클래스에 동작 변수를 변경하는 메서드 생성
– 향후 동작 변경 시 새로운 객체로 교체 가능