View

 

 

 

Controller & Helper

Controller

Component에 직접적.

이벤트에 응답, 제어 흐름 수행, Helper에게 비즈니스 로직 위임

Helper

Component간 공통적으로 활용되는 비즈니스 로직 영역.

공유 코드를 포함하도록 설계됨 ≫ Renderer, Controller, 여러 Controller 함수에서 코드 공유 O

상속을 통해 연결된 component간에 Helper 코드 공유 O

 

 

 

 

예시

두 개의 Account component (Account.cmp)를 표시하는 Account List가 있다고 가정하기

<c:AccountList>
    <c:AccountCmp id="1" />
    <c:AccountCmp id="2" />
</c:AccountList>

 

Account List는 시각적으로는 첫 번째 그림과 같지만, 실제로 실행하는 동안에는 두 번째 그림과 같다!

 

 

각 Account Component 컴포넌트(번들)은 마크업으로 만들어져있음 (JavaScript controller, Helper, Renderer...)

 

하지만 실행하는 동안 프레임워크는 각 component에 대한 Renderer의 인스턴스인 Controller 인스턴스를 생성하지만, Helper의 복사본은 하나만 만들고 Helper의 reference를 모든 Controller 인스턴스와 모든 Renderer 인스턴스에 전달함.

 

2개의 component가 있는 예에서 프레임워크는 Helper의 복사본 하나를 만들고, 이 Helper의 reference를 2개의 Controller와 2개의 Renderer 인스턴스에 전달함.

 

 

Benefits

  • Helper는 모든 것이 공유되기 때문에 Controller와 Renderer의 로직을 한 곳에서 공유, 유지 가능
  • Controller 및 Renderer 내에서 로직을 간결하게 유지하는 데 도움이 됨

☞ 따라서 가능하면 비즈니스 로직을 Helper에 위임하는 것이 좋음

 

 

When to use Controller / Helper

˙ Controller를 사용하여 user event, component & application event와 같은 다른 event를 수신

     하지만 Helper에게 비즈니스 로직 위임하기

˙ 모든 Renderer 기능(render, rerender)에서 유사한 위임을 수행함

˙ Controller 함수에서 다른 Controller 함수를 호출해야 할 때마다 해당 로직 Helper로 이동시키기

 

 

 

 

 

 

 

※ 출처

1. Developers' Blog - Understanding JavaScript Controllers vs Helpers in Lightning Components

 

Developer Blog | Salesforce Developers

JavaScript Controllers and Helpers play a key role in Lightning Components Framework. One of the first things people new to the framework wonder is: What exactly is the difference between JavaScript Controllers and JavaScript Helpers. So let’s go over th

developer.salesforce.com

2. Stack Exchange - Difference Between Controller And Helper

 

Lightning Apps - Difference Between Controller And Helper?

I have just recently started building Lightning Applications, and I do not understand why there are two Javascript components in each bundle. What is the difference between the controller and the h...

salesforce.stackexchange.com

 

 

 

 

 

'Salesforce UI' 카테고리의 다른 글

Visualforce 기초 04_Custom Controller  (0) 2022.01.04
Visualforce 기초 03  (0) 2022.01.04
Visualforce 기초 02  (0) 2022.01.03
Visualforce 기초 01  (0) 2021.12.30
Share Link
reply
«   2025/01   »
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