몇 가지 공통적 인 동작을 갖고 몇 가지 전략을 구현 중이며 공통 작업이 살아 있어야하는 곳은 미정입니다.Java 추상 클래스 또는 정적 유틸리티 클래스 디자인 선택
- 1 상황 및 3 전략으로 가정하면 전략에 사용되는 작업 중 일부는 공유되며 일부는 전략 중 하나 일 뿐인 나머지 2 개에서만 필요합니다.
- 공유되는 구성원 수준 상태가 없으므로 유일한 작업 만 효과적으로 상태 비 저장됩니다.
- 작업의 의도는보기 도우미와 같은 파일의 상태 서식 지정을 지원하는 것입니다.
옵션 1 : 확인 AbstractStrategy 클래스
- 내가 자바를 사용하고 지금이 바로 는 앞으로이 기능을 사용하여 멀리합니다.
- 상속이 발생하기 쉽습니다. 융기 구조의 .
- 작업이 최종적입니다.
옵션 2 :
- 유연한 정적 헬퍼의 백분율 클래스를 생성하지만, 어떤 이유로 코드 냄새 같은 느낌이 든다.
- 돌출되지 않음.
모든 권장 사항이나 기본 설정은 무엇입니까?
내가 일하고있는 레벨은 컨텍스트 레벨이 아니라 전략 레벨입니다 (위키피디아 링크 참조).
유틸리티 클래스는 OOP에 존재하지 않습니다. http://www.yegor256.com/2014/05/05/oop-alternative-to-utility-classes.html – yegor256
나는 추상화가있는 것을 선호합니다. ** 오픈 - 클로즈 ** 패턴을 따를 필요가 있습니다. 즉, 프로그램은 확장을 위해 열릴 것이지만 수정을 위해 닫힙니다 ... – Jay