일부 수업에 일부 동작 (예 : 좋아요, 댓글, 평가, 답변, 설문 조사 등)을 제공해야합니다. 그러나 모든 수업에는 이러한 모든 행동이 필요합니다. 일부 수업에는 모두 포함될 수 있지만 일부는 2 개만 필요하고 일부는 필요로 할 수도 있습니다 1. 누구나 적응할 수있는 디자인이나 디자인 패턴을 제안 할 수 있습니까?디자인 제안 패턴
-1
A
답변
1
원하는 메서드를 사용하여 인터페이스를 구현 한 다음 해당 메서드를 클래스 멤버 인 도우미 개체에 위임하게합니다.
예.
public interface MyInterface {
public void comment();
}
public class Helper implements MyInterface{
public void comment() { ... }
}
public class MyClass implements MyInterface {
private final Helper helper = new Helper();
public void comment() {
helper.comment();
}
}
상당수의 IDE가 자동으로이 위임 코드를 생성 할 수 있습니다. 언어가 다중 상속을 지원하면 도우미를 확장 할 수 있으며 대리인 코드가 필요하지 않습니다.
사용하고 싶지 않은 메서드는 여전히 구현해야하지만, 호출 될 경우 예외를 throw하고 사용하지 말 것을 문서화해야합니다. 이 방식이 마음에 들지 않으면 모든 메소드에 대한 인터페이스가 필요합니다.
+0
답장을 보내 주셔서 감사합니다. 하지만 MyInterface를 많은 클래스에 구현해야 할 때 "private final Helper helper = new Helper(); public void comment() {helper.comment();}"코드가 복제 될 것입니다. 내가 원하지 않는 수업들. – Ambika
관련 문제
- 1. 창조적 디자인/패턴 제안 요청
- 2. 데이터베이스 디자인 개선 제안 제안
- 3. 디자인 패턴 - 전략 패턴
- 4. 전략 디자인 패턴 대 상태 디자인 패턴
- 5. 제안 : 안티 패턴 카운터 - 예
- 6. 디자인 패턴 :
- 7. 디자인 패턴
- 8. 디자인 패턴
- 9. 다른 사용자 역할을 가진 응용 프로그램의 디자인 패턴 제안
- 10. MVC3 - ViewModels 및 컨트롤러 기능 : 제안 된 디자인 패턴
- 11. 키워드 기반 테스트 프레임 워크를위한 디자인 패턴 제안
- 12. 자바의 디자인 패턴
- 13. 트랜잭션 디자인 패턴
- 14. Windows 용 디자인 패턴
- 15. 캐시 관리를위한 디자인 패턴
- 16. asp.net의 제공자 디자인 패턴
- 17. 디자인 패턴을 제안 하시겠습니까?
- 18. Android UI 디자인 제안
- 19. 디자인 도움말/제안 필요
- 20. DB 디자인 - 제안
- 21. MySQL 데이터베이스 디자인 제안
- 22. 디자인 패턴 선택
- 23. 서버 에뮬레이터를위한 디자인 패턴
- 24. 디자인 패턴 - 외관
- 25. 세션 객체 디자인 패턴
- 26. 래퍼 디자인 패턴
- 27. 3 단계 적용 패턴 제안
- 28. 패턴 제안 필요 (Hibernate + Guice)
- 29. 바이너리 메시지에 권장되는 디자인 패턴
- 30. Android의 활동을 확장하기위한 디자인 패턴?
http://ux.stackexchange.com/ –
문제의 컨텍스트가 명확하지 않습니다. 특정 프로그래밍 언어로 작업하고 있습니까? 아니면 CSS 동작을 사용하는 이러한 CSS 클래스입니까? – user1201210
C# (.Net)에서 구현해야합니다. – Ambika