Kotlin Springboot -- Part 4 도메인에서 Value Object を定義して Driver->Gateway->Usecase と連れ込んでいく
6128 단어 kotlin
도메인
data class Persons(val list: List<Person>)
data class Person(val name: Name, val age: Age)
data class Name(val value: String)
data class Age(val value: Int)
OBJECT 指向らしく, 全 てのプロパティをデータクラスで定義する.
細かいデータクラスを 사람, 사람 でまとめていく
https://blog.applibot.co.jp/2018/03/22/inheritance-for-dataclass-kotlin/
데이터 클래스 は getter/setter などをはやしてくれるもの
운전사
ここから先は全ての層ごとにひとつのクラスで書く
class PersonDriver() {
companion object {
private val data:Persons = Persons(listOf(
(Person(Name("taro"), Age(12))),
(Person(Name("hanako"), Age(10))),
))
fun findAll():Persons {
return data
}
}
}
コンパニオンOBJECUTで書くとクラス外部から参照できる.
드메인을つかってデータを定義して
全てを返す関数の findAll を作る
게이트웨이
class PersonsGateway() {
companion object {
fun getAllPersons():Persons {
return PersonDriver.findAll()
}
}
}
드라이버 の findAll を呼ぶ
유스케이스
class PersonsUsecase() {
companion object {
fun getAllPersons():Persons {
return PersonsGateway.getAllPersons()
}
}
}
게이트웨이 の getAllPersons を呼ぶ
同名で定義するので処理はない.
CA の理解のための形式的なもの.
쉬다
@Controller
class PersonHandler {
@GetMapping("/persons")
fun getAllPersons(model:Model): String {
val persons: Persons = PersonsUsecase.getAllPersons()
model["title"] = persons.toString()
return "index"
}
}
Usecase から呼び出して/persons へのマッpingingに当てる
편물
미레루
Reference
이 문제에 관하여(Kotlin Springboot -- Part 4 도메인에서 Value Object を定義して Driver->Gateway->Usecase と連れ込んでいく), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/kaede_io/kotlin-springboot-part-4-domain-de-value-object-woding-yi-site-driver-usecase-tolian-reip-ndeiku-32m7텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)