Goals

  • ๋ฌด์—‡์„ ๋ชฉํ‘œํ–ˆ๋‚˜์š”?

Good

  • ์šด๋™์„ ์‹œ์ž‘ํ–ˆ๋‹ค.
  • ์ž‘์€ ์ƒํ™œ ๊ณ„ํš์„ ์„ธ์šฐ๊ณ  ์ดํ–‰์ค‘์ด๋‹ค.

Bad

  • ์ฝ”๋“œ๋ฅผ ์ƒ๊ฐ์„ ๋œ ํ•˜๊ณ  ์งœ๋Š” ๊ฒƒ์ธ์ง€ ์ง€์ ์„ ์ข€ ๋ฐ›์•˜๋‹ค.
  • ํผํฌ๋จผ์Šค๊ฐ€ ์•ฝ๊ฐ„ ๋–จ์–ด์กŒ๋˜ ๊ฒƒ ๊ฐ™๋‹ค. ์ˆ˜๋ฉด์„ ์ข€ ๋” ํ•ด์•ผ๊ฒ ๋‹ค.

Learns

  • ๋ผ์ธ ๋„ˆ๋ฌด ๊ธธ์ง€ ์•Š์œผ๋ฉด ํ•œ๋ผ์ธ์— ์ ๊ธฐ
  • ์ค„๋ฐ”๊ฟˆ ์ปจ๋ฒค์…˜ ์ง€ํ‚ค๊ธฐ
  • ๋‚˜๋ˆ„๊ธฐ ํ•  ๋–„ 0์œผ๋กœ ๋‚˜๋ˆ„์ง€ ์•Š๋Š”์ง€ ํ™•์ธ!
  • ๊ฐœํ–‰์€ ๊ธธ์ด๋กœ๋งŒ ๋Š๋Š” ๊ฒƒ์ด ์•„๋‹ˆ๋‹ค. ์ปจํ…์ŠคํŠธ๊ฐ€ ๋ฐ”๋€” ๋•Œ ํ•˜๋Š” ๊ฒƒ์ด ๊ฐ€์žฅ ์ข‹๋‹ค.
    • .build()๋ฅผ ํ•œ๋‹ค๊ณ  ํ–ˆ์„ ๋•Œ, .์ด ์ฐํ˜”๋‹ค๊ณ  ํ•ด์„œ ๋ฌด์ง€์„ฑ์œผ๋กœ ๊ฐœํ–‰ํ•˜๋Š” ๊ฒƒ์ด ์•„๋‹Œ, ๋ฌธ๋งฅ์ƒ ์ด์–ด์ง€๋Š”๊ฒŒ ์ข‹์œผ๋ฉด ๊ธธ์–ด๋„ ๊ทธ๋ƒฅ ๋‘”๋‹ค.
    • ๋ฐ˜๋Œ€๋กœ Chaining์ด ๋˜๋”๋ผ๋„ ๊ฐ๊ฐ์˜ ๋‚ด์šฉ์ด ๋ถ„๋ฆฌ๋˜์–ด ํ‘œํ˜„์ด ํ•„์š”ํ•˜๋ฉด ์ค„๋ฐ”๊ฟˆ์„ ํ•œ๋‹ค. (attribute๋ฅผ ์ ์šฉํ•˜๋Š” ๊ฒฝ์šฐ)
  • ๋ฐฉ์–ด์ฝ”๋“œ์˜ ์œ„์น˜์™€ ์‹ค์ œ ์‚ฌ์šฉ๋˜๋Š” ์ฝ”๋“œ์˜ ์œ„์น˜๋Š” ๋ฉ€์ง€ ์•Š์•„์•ผ ํ•œ๋‹ค.
    • ํด๋ฆฐ ์ฝ”๋“œ: ์ฝ”๋“œ์˜ ๊ฑฐ๋ฆฌ๋„ ์ฝ”๋”ฉํ•  ๋•Œ ๊ณ ๋ คํ•ด์•ผํ•˜๋Š” ์š”์†Œ
    • ์ฝ๋Š” ์‚ฌ๋žŒ์ด ํ•ด๋‹น ๋ฐฉ์–ด์ฝ”๋“œ๋ฅผ ์ฝ๊ณ  ๋ฌธ์ œ ์ƒ๊ธธ ๊ฐ€๋Šฅ์„ฑ์ด ์—†๊ฒ ๊ตฌ๋‚˜~ ํ•˜๊ณ  ๋ฐ”๋กœ ์ธ์ง€ํ•  ์ˆ˜ ์žˆ๋„๋ก ํ•ด์•ผ ํ•œ๋‹ค.
  • ์ƒ์†์„ ํ†ตํ•œ ์ปดํฌ๋„ŒํŠธ ์ •์˜๊ฐ€ ์žฌ์‚ฌ์šฉ์„ ์œ„ํ•œ ์œ ์ผํ•œ ๋ฐฉ๋ฒ•์€ ์•„๋‹ˆ๋‹ค.
    • ๋ฒ„ํŠผ์˜ ์™ธํ˜•์ด ๋‹ฌ๋ผ์งˆ ๊ฒƒ ๊ฐ™์•„ UIButton ์ƒ์†ํ•˜์—ฌ ๋งŒ๋“ฆ
    • ์ด๋ ‡๊ฒŒ ํ•˜์ง€๋ง๊ณ , Style๋งŒ ๋ณ€ํ™”๋˜๋Š” ๊ฒƒ์ด๋ผ๋ฉด, ์ด ์ฑ…์ž„์„ ์ˆ˜ํ–‰ํ•  ๋‹ค๋ฅธ ์—ญํ•  ์ˆ˜ํ–‰์ž๋ฅผ ๋งŒ๋“ค์–ด ์ฒ˜๋ฆฌํ•˜๋Š” ๊ฒƒ์ด ์ข‹์Œ
    • Bridge ํŒจํ„ด๊ณผ ๋น„์Šท
    • ์ฃผ์„์œผ๋กœ ํ•ด๋‹น ๊ฐœ์ฒด ๋งํฌ ๋‹ฌ์•„๋‘  ํ™•์ธํ•  ๊ฒƒ

Commitment

  • ํž˜๋“ค๋”๋ผ๋„ ์ƒˆ๋ฒฝ ๊ธฐ์ƒ, ๋Ÿฌ๋‹์€ ํ•˜์ž.
  • ๊พธ์ค€ํ•จ์€ ๋ˆ„๊ตฌ๋„ ์ด๊ธธ ์ˆ˜ ์—†๋‹ค. ์•„์นจ๋งˆ๋‹ค ํ•˜๋ ค๊ณ  ํ•œ ๊ฒƒ๋“ค ๊ผญ ํ•ด๋‚ด์ž.
  • ๋ถˆ์•ˆํ•จ์„ ์›์ฒœ์œผ๋กœ ๋‹ค์‹œ ํ•œ๋ฒˆ ์ด๊ฒจ๋‚ด์ž.