Upgrade to Pro — share decks privately, control downloads, hide ads and more …

KotlinによるFactoryメソッド実装パターン

doyaaaaaken
November 17, 2019

 KotlinによるFactoryメソッド実装パターン

2019/11/27にKotlin愛好会のLTにて発表した内容。
同内容は以下記事にもまとめてあります。
https://qiita.com/doyaaaaaken/items/0c99da9efa7d724a0d80

doyaaaaaken

November 17, 2019
Tweet

More Decks by doyaaaaaken

Other Decks in Programming

Transcript

  1. ࣗݾ঺հ • ࢓ࣄ • SaaSελʔτΞοϓͰϑϧελοΫΤϯδχΞ(ͱ͍͏໊ͷͳΜͰ΋԰)ͯ͠·͢ • Kotlin͸αʔόαΠυʢJVMʣͰ࢖͍ͬͯ·͢ • झຯ •

    ອըɾϘʔυήʔϜɾຑ੃ɾςχεɾϙʔΧʔ… • OSSपΓͷ׆ಈ • Kotlin੡OSS΁ͷίϯτϦϏϡʔτ(ktor, Exposed, kotlintest, kohttp) • kotlin-csvͱ͍͏ࣗ࡞OSS࡞ͬͯ·͢ • ktorͷυΩϡϝϯτ೔ຊޠ຋༁ϓϩδΣΫτͷൃىਓͰ͢
  2. ࠓճͷൃද಺༰ • શ52ষͷ͏ͪݸਓతʹྑ͔ͬͨͱײͨ͡ষΛൃද • ʰItem33: Consider factory functions instead of

    constructorsʱ • ҎԼ̎఺ʹ͍ͭͯઆ໌ 1. ͦ΋ͦ΋ͳΜͰίϯετϥΫλΑΓFactoryϝιουͷ΄͏͕
 ྑ͍ͷ͔ʁ 2. KotlinͰFactoryϝιου࣮૷͢Δ৔߹ʹ͸Ͳ͏͍͏ॻ͖ํ͕
 Φεεϝ͔ʁ
  3. 2. FACTORYϝιου࣮૷ɺͲΜͳํ๏͕͋Δʁ • ͳΜͱ5ͭ΋঺հ͞Ε͍ͯ·ͨ͠ 1. Companion object factory function 2.

    Extension factory function 3. Top-level factory functions 4. Fake constructors 5. Methods on a factory class
  4. 2. FACTORYϝιου࣮૷ɺͲΜͳํ๏͕͋Δʁ • 5. Methods on a factory class
 


    ͍ΘΏΔBuilderύλʔϯɻ
 ͪͳΈʹEffective Kotlinͷ࣍ͷষͰղઆ͞Ε͍ͯΔ͕ɺ
 BuilderύλʔϯΛ࢖͏΂͖έʔε͸গͳ͍ɻ
 ʢ໊લ෇͖Ҿ਺ɾσϑΥϧτҾ਺Λ࢖͑͹େ఍ࣄ଍ΓΔʣ