Recent Posts
Recent Comments
08-29 13:07
«   2025/08   »
1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
31
Today
Total
관리 메뉴

생각을 IT다

AEM 기본 이론 정리 (Helper Class) 본문

AEM(Adobe Experience Manager)

AEM 기본 이론 정리 (Helper Class)

흑백논리 2023. 4. 13. 10:08
반응형

 

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 클래스를 호출하여 필요한 기능을 수행 후 결과를 컴포넌트에 반환함
반응형
Comments