반응형
Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
Tags
- php개발
- 조건문
- 설치
- 플러터
- Kotlin
- script
- Eclipse
- 서버
- ios
- node.js
- Flow
- 스나이퍼팩토리
- 변수
- jquery
- java
- 스터디
- express
- kotlininaction
- kotlin2.0
- php변수
- Coroutine
- 코틀린
- SwiftUI
- 그림으로 배우는 서버구조
- php
- android
- 이클립스
- node
- Flutter
- 정보처리기사
Archives
- Today
- Total
mygomii
[Kotlin] 13.1 API에서 DSL로: 표현력이 좋은 커스텀 코드 구조 만들기 본문
반응형
- DSL이란?
- DSL (Domain-Specific Language): 특정 도메인을 위한 작고 표현력 있는 언어
- 코틀린의 람다와 확장 함수, 인포크 연산자, 수신 객체 등을 이용하면 마치 언어처럼 보이는 API를 만들 수 있음
fun createHtml(): Element {
val table = Element("table")
val row = Element("tr")
row.add(Element("td", "Hello"))
table.add(row)
return table
}
- DSL 스타일로 전환 (아래 코드)
html {
table {
tr {
td { +"Hello" }
}
}
}
13.1.1 도메인 특화 언어
- 가독성 향상: 도메인 전문가도 이해할 수 있는 코드 작성 가능
- 중복 제거: 코드 구조가 간결해짐
- 코드 → 구성 정보로 활용: 설정 파일, 템플릿 등에서 활용 가능
- HTML/XML 구성 (html { ... })
- UI 레이아웃 구성 (Compose, Anko 등)
- 테스트 스크립트 (e.g. shouldBe, given { when { then } })
- 빌드 도구 (Gradle Kotlin DSL)
- 데이터 처리 파이프라인 (e.g. pipeline { step { ... } })
반응형
'Kotlin' 카테고리의 다른 글
[Kotlin] 14.2 코틀린의 동시성 처리 방법: 일시 중단 함수와 코루틴 (0) | 2025.06.06 |
---|---|
[Kotlin] 14.1 동시성과 병렬성 (0) | 2025.06.02 |
[Kotlin] 12.2 리플렉션: 실행 시점에 코틀린 객체 내부 관찰 (0) | 2025.05.27 |
Android’s Kotlin Multiplatform announcements at Google I/O and KotlinConf 25 (KMP관련 요약) (1) | 2025.05.26 |
[Kotlin] 12.1 어노테이션 선언과 적용 (0) | 2025.05.26 |