생각을 IT다
AEM 기본 이론 정리 (Helper Class) 본문
반응형
AEM Helper Class
Helper Class | |
항목 | 설명 |
의미 | Sling Model 에서 사용되는 Java Class로, 기능을 수행하거나 JSP 및 HTL에서 사용되는 데이터를 구성하는데 도움을 주는 클래스 |
역할 | 컴포넌트에서 로직을 분리하여 유지보수성과 재사용성을 향상. Helper Class는 컴포넌트와 비즈니스 로직 간의 의존성을 줄이고, 코드의 재사용성을 높이는데 중요한 역할 |
사용방법 | Sling Model 클래스 내에서 필요한 데이터를 처리하는 메소드를 작성하여 Helper Class를 사용한다. 메소드 내에서 데이터 처리 및 로직 수행이 이루어진 후, 해당 메소드를 Sling Model 클래스에서 호출하여 사용한다. |
장점 | Helper Class를 사용하면 컴포넌트 내에서 비즈니스 로직을 처리할 수 있으므로, 컴포넌트 내의 코드가 간결해지고 가독성이 좋아진다. 또한, 비즈니스 로직이 Helper Class에서 분리되어 있으므로, 로직의 변경이 필요한 경우 Helper Class만 수정하면 되기 때문에 유지보수가 용이 |
예시 | 'java public class HelloWorldHelper {String getHelloWorldText(Sting name) {return "Hello World. " + name + "!";}} |
AEM Helper Class 개발방식
Helper Class 개발방식 | ||
구분 | 클래스 상속 방식 | Sling Model 방식 |
의미 | 특정 기능을 구현하는 메서드들을 담은 클래스를 작성하여 기능을 재사용하는 방식 | AEM의 JCR 노드와 관련된 데이터를 노출하고 캡슐화하는 자바 객체를 생성하는 방식 |
역할 | 비즈니스 로직을 처리하는 매ㅔ서드들을 작성하여 재사용성을 높이고 유지 보수성을 개선 | JCR 노드를 대상으로 데이터를 처리하는 메서드들을 작성하여, 이를 담은 클래스 객체를 생성하여 화면에서 사용함 |
구현 방식 | Java 클래스를 만들고 필요한 메서드들을 작성하여 구현 | @Model 어노테이션을 사용하여 Sling Model을 정의하고, 필요한 메서드들을 작성하여 구현 |
장점 | 코드를 간결하고 읽기 쉽게 작성할 수 있으며, 상속을 통해 확장성이 높음 | 비지니스 로직을 템플릿과 분리하여 처리할 수 있고, JCR 노드와 관련된 데이터를 다루는 코드의 중복을 방지 |
단점 | 상속을 사용하기 때문에 클래스 구조가 복잡해지면 유지 보수가 어려울 수 있음 | Sling Model의 생성 및 관리를 위한 추가적인 설정이 필요함 |
AEM Helper Class 연결방식
1. 상속 방식
- Helper 클래스를 개발하고 상속한 컴포넌트에서 해당 Helper 클래스를 인스턴스화하여 사용하는 방식
- Helper 클래스가 특정 컴포넌트에서만 사용되는 경우, 해당 컴포넌트의 Java 클래스 내부에 Helper 클래스를 선언하는 것이 일반적
2. Sling Model 방식
- Helper 클래스를 Sling Model 클래스 내부에 선언하고, Sling Model 클래스를 컴포넌트와 연결하는 방식
- Sling Model 클래스는 컴포넌트와 Helper 클래스 간의 중개자 역할을 함. 컴포넌트에서 Sling Model을 호출 시, Sling Model은 Helper 클래스를 호출하여 필요한 기능을 수행 후 결과를 컴포넌트에 반환함
반응형
'AEM(Adobe Experience Manager)' 카테고리의 다른 글
AEM 기본 이론 정리 (ClientLibrary) (0) | 2023.04.14 |
---|---|
AEM 기본 이론 정리 (Helper Class API) (0) | 2023.04.13 |
AEM 기본 이론 정리 (HTL/HTML Template Language) (0) | 2023.04.11 |
AEM 기본 이론 정리 (Component Dialog) (0) | 2023.04.11 |
AEM 기본 이론 정리 (Component) (0) | 2023.04.11 |
Comments