Kotlin
유형 안전 빌더
수색…
비고
유형 안전 빌더 는 언어 기능이 아닌 개념이므로 엄격하게 형식화되지는 않습니다.
유형 안전 빌더의 일반적인 구조
단일 빌더 기능은 일반적으로 3 단계로 구성됩니다.
- 개체를 만듭니다.
- 객체를 초기화하려면 람다를 실행하십시오.
- 객체를 추가하여 구조화하거나 반환하십시오.
Kotlin 라이브러리의 유형 안전 빌더
타입 안전 빌더의 개념은 몇몇 Kotlin 라이브러리와 프레임 워크에서 널리 사용됩니다. 예 :
- 안코
- 와사비
- Ktor
- 투기
유형 안전 트리 구조 빌더
빌더는 수신자와 함께 람다 식을 인수로 취하는 확장 함수 집합으로 정의 할 수 있습니다. 이 예제에서는 JFrame
의 메뉴를 빌드 중입니다.
import javax.swing.*
fun JFrame.menuBar(init: JMenuBar.() -> Unit) {
val menuBar = JMenuBar()
menuBar.init()
setJMenuBar(menuBar)
}
fun JMenuBar.menu(caption: String, init: JMenu.() -> Unit) {
val menu = JMenu(caption)
menu.init()
add(menu)
}
fun JMenu.menuItem(caption: String, init: JMenuItem.() -> Unit) {
val menuItem = JMenuItem(caption)
menuItem.init()
add(menuItem)
}
이 함수는 객체의 트리 구조를 손쉽게 빌드하는 데 사용할 수 있습니다.
class MyFrame : JFrame() {
init {
menuBar {
menu("Menu1") {
menuItem("Item1") {
// Initialize MenuItem with some Action
}
menuItem("Item2") {}
}
menu("Menu2") {
menuItem("Item3") {}
menuItem("Item4") {}
}
}
}
}
Modified text is an extract of the original Stack Overflow Documentation
아래 라이선스 CC BY-SA 3.0
와 제휴하지 않음 Stack Overflow