View
μ±κΈν€ ν¨ν΄
- ν΄λμ€μ μ€μ§ νλμ κ°μ²΄λ§μ΄ μμ±λ¨μ 보μ₯
- μ€μ§ νλμ μΈμ€ν΄μ€λ§μ μμ±νμ¬ μ΄λ₯Ό μ κ·Όνλ λ©μλλ₯Ό μ 곡
μ£Όλ‘ μΈμ μ¬μ©νλκ°?
π‘ 곡ν΅λ κ°μ²΄λ₯Ό μ¬λ¬κ° μμ±ν΄μ μ¬μ©ν΄μΌνλ μν©
π‘ `λ°μ΄ν°λ² μ΄μ€μμ 컀λ₯μ ν, μ€λ λν, μΊμ, λ‘κ·Έ κΈ°λ‘ κ°μ²΄ λ±`
μ₯λ¨μ
+) λ©λͺ¨λ¦¬ μΈ‘λ©΄μ ν¨μ¨μ± : μ΅μ΄ νλ²μ new μ°μ°μλ₯Ό ν΅ν΄μ κ³ μ λ λ©λͺ¨λ¦¬ μμμ μ¬μ© → μΆν ν΄λΉ κ°μ²΄ μ κ·Ό μ λ©λͺ¨λ¦¬ λλΉλ₯Ό λ°©μ§
+) λ°μ΄ν° 곡μ μμ: μ±κΈν€ μΈμ€ν΄μ€κ° μ μμΌλ‘ μ¬μ©λλ μΈμ€ν΄μ€ → λ€λ₯Έ ν΄λμ€μ μΈμ€ν΄μ€λ€μ΄ μ κ·Όνμ¬ μ¬μ©ν μ μμ
-) ν μ€νΈμ μ΄λ €μ : μ±κΈν€ μΈμ€ν΄μ€λ μμμ 곡μ νκ³ μμ → ν μ€νΈκ° κ²°μ μ μΌλ‘ 격리λ νκ²½μμ μννκΈ° μν΄μλ λ§€λ² μΈμ€ν΄μ€μ μνλ₯Ό μ΄κΈ°ν μμΌμ€μΌν¨
-) κ°λ°©-νμ μμΉ μλ°° : μ±κΈν€ μΈμ€ν΄μ€κ° νΌμ λ§μ μΌ , λ§μ λ°μ΄ν° 곡μ → λ€λ₯Έ ν΄λμ€λ€ κ°μ κ²°ν©λκ° λμμ§
ν©ν 리 ν¨ν΄
: ν΄λμ€μ μΈμ€ν΄μ€λ₯Ό λ§λλ μΌμ μλΈ ν΄λμ€μκ² λ§‘κΉ
μ£Όλ‘ μΈμ μ¬μ©νλκ°?
π‘ μ΄λ€ ν΄λμ€κ° μμ μ΄ μμ±ν΄μΌ νλ κ°μ²΄μ ν΄λμ€λ₯Ό μμΈ‘ν μ μμ λ ,
π‘ μμ±ν κ°μ²΄λ₯Ό κΈ°μ νλ μ± μμ μμ μ μλΈν΄λμ€κ° μ§μ νμΌλ©΄ ν λ
μ₯λ¨μ
+) μμ μ λ«νμκ³ νμ₯μλ μ΄λ €μλ OCP μμΉμ μ§ν¬ μ μλ€λ μ
-) κ°λ¨ν κΈ°λ₯μ μ¬μ©ν λλ³΄λ€ λ§μ ν΄λμ€λ₯Ό μ μν΄μΌ νκΈ° λλ¬Έμ μ½λλ μ¦κ°
μ λ΅ ν¨ν΄
: κ°μ²΄κ° ν μ μλ νμλ€ κ°κ°μ μ λ΅μΌλ‘ λ§λ€μ΄ λκ³ , λμ μΌλ‘ νμμ μμ μ΄ νμν κ²½μ° μ λ΅μ λ°κΎΈλ κ²λ§μΌλ‘ νμμ μμ μ΄ κ°λ₯νλλ‘ λ§λ ν¨ν΄
μ£Όλ‘ μΈμ μ¬μ©νλκ°?
π‘ **`if-else`** μ½λ λΈλμΌλ‘ ꡬμ±λμ΄ μλλ°, λͺ¨λ μ½λκ° λΉμ·ν κΈ°λ₯μ μννλ κ²½μ°
π‘ μκ³ λ¦¬μ¦μ λμμ΄ λ°νμμ μ€μκ°μΌλ‘ κ΅μ²΄ λμ΄μΌν λ
π‘ μκ³ λ¦¬μ¦ μ½λκ° λ ΈμΆλμ΄μλ μ λλ λ°μ΄ν°μ μμΈμ€ νκ±°λ λ°μ΄ν°λ₯Ό νμ©ν λ (μΊ‘μν)
μ₯λ¨μ
-) μκ³ λ¦¬μ¦μ΄ λ§μμ§ μλ‘ κ΄λ¦¬ν΄μΌνλ κ°μ²΄μ μκ° λμ΄λ μ μμ
-) κ°λ°μλ μ μ ν μ λ΅μ μ ννκΈ° μν΄μλ μ λ΅ κ°μ μ°¨μ΄μ μ νμ νκ³ μμ΄μΌν¨ (볡μ‘λ μμΉ)
μ°Έκ³ :
π μ λ΅(Strategy) ν¨ν΄ - μλ²½ λ§μ€ν°νκΈ°
μ΅μ λ² ν¨ν΄
μ΄λ€ κ°μ²΄μ λ³κ²½ μ¬νμ΄ λ°μνμμλ μ΄μ μ°κ΄λ κ°μ²΄λ€μκ² μλ €μ£Όλ λμμΈ ν¨ν΄
μ£Όλ‘ μΈμ μ¬μ©νλκ°?
π‘ **μΌλλ€(one-to-many) μμ‘΄μ±**μ κ°μ§λλ°, μ£Όλ‘ λΆμ° μ΄λ²€νΈ νΈλ€λ§ μμ€ν μ ꡬννλ λ° μ¬μ©
π‘ pub/sub(λ°ν/ꡬλ ) λͺ¨λΈλ‘λ μλ €μ Έ μμ
μ₯λ¨μ
+) μ€μκ°μΌλ‘ ν κ°μ²΄μ λ³κ²½μ¬νμ λ€λ₯Έ κ°μ²΄μ μ ν ν μ μμ
+) λμ¨ν κ²°ν©μΌλ‘ μμ€ν μ΄ μ μ°νκ³ κ°μ²΄κ°μ μμ‘΄μ±μ μ κ±°ν μ μμ
-) λ무 λ§μ΄ μ¬μ©νλ©΄, μν κ΄λ¦¬ νλ¦
-) λ°μ΄ν° λΆλ°°μ λ¬Έμ κ° μκΈ°λ©΄ ν° λ¬Έμ λ‘ μ΄μ΄μ§ μ μμ
μ°Έκ³ :
[iOS]μ΅μ λ² ν¨ν΄(Observer Pattern)
νλ‘μ ν¨ν΄
: λμ μλ³Έ κ°μ²΄λ₯Ό λ리νμ¬ λμ μ²λ¦¬νκ² ν¨μΌλ‘μ¨ λ‘μ§μ νλ¦μ μ μ΄νλ νλ ν¨ν΄
→ λμ κ°μ²΄μ λ©μλλ₯Ό μ§μ μ€ννλ κ²μ΄ μλ, λμ κ°μ²΄μ μ κ·ΌνκΈ° μ μ νλ‘μ κ°μ²΄μ λ©μλλ₯Ό μ κ·Όν ν μΆκ°μ μΈ λ‘μ§μ μ²λ¦¬ν λ€ μ κ·Ό
μ£Όλ‘ μΈμ μ¬μ©νλκ°?
π‘ λμ ν΄λμ€κ° λ―Όκ°ν μ 보λ₯Ό κ°μ§κ³ μκ±°λ μΈμ€ν΄μ€ν νκΈ°μ 무κ²κ³ μΆκ° κΈ°λ₯μ κ°λ―Ένκ³ μΆμ λ
π‘ μλ³Έ κ°μ²΄λ₯Ό μμ ν μ μλ μν©μ 극볡νκΈ° μν¨
μ₯λ¨μ
+) κ°λ°©-νμ μμΉμ μ€μ : κΈ°μ‘΄ λμ κ°μ²΄μ μ½λλ₯Ό λ³κ²½νμ§ μκ³ μλ‘μ΄ κΈ°λ₯μ μΆκ°ν μ μμ
+) λ¨μΌ μ± μ μμΉ μ€μ : λμ κ°μ²΄λ μμ μ κΈ°λ₯μλ§ μ§μ€ → λ€μ€ μ± μμ ννΌ
-) νλ‘μ ν΄λμ€ μ체μ λ€μ΄κ°λ μμμ΄ λ§λ€λ©΄ μλΉμ€λ‘λΆν° μλ΅μ΄ λλ €μ§ μ μμ
μ§λ¬Έ 리μ€νΈ
- μ±κΈν€ ν¨ν΄μ μ¬μ©νλ μ΄μ λ?
λͺ¨λ λ°μ΄ν°λ₯Ό μ μμΌλ‘ κ΄λ¦¬νκΈ° λλ¬Έμ μ½κ² μ κ·Όν μ μκ³ , μ΄κΈ° κ°μ²΄λ₯Ό μμ±νκ² λλ©΄ μ μ λ©λͺ¨λ¦¬μ μ¬λΌκ°κΈ° λλ¬Έμ νΈμΆμ΄ λΉ λ¦
. μ€λ³΅ μμ±κ³Ό λ©λͺ¨λ¦¬ λλΉλ₯Ό λ°©μ§
ν μ μλ€.
2. λμμΈ ν¨ν΄μ μ¬μ©νλ μ΄μ λ?
νμ μ λ²μ©μ μΈ μ½λ© μ€νμΌμ μ μ©ν μ μμ
μΈμμΈκ³ λ± → μννΈμ¨μ΄ ꡬ쑰 νμ μ μ©μ΄
μꡬμ¬ν μμλ‘ λ³κ²½ : μꡬμ¬νμ λ°λ₯Έ μμ€ μ½λ λ³κ²½μ μ΅μνν μ μκ² ν΄μ€, μ μ°ν λμ² κ°λ₯
'CS' μΉ΄ν κ³ λ¦¬μ λ€λ₯Έ κΈ
HTTP Method (GET, POST, DELETE, PUT) (0) | 2022.09.19 |
---|---|
[OS] κΈ°μ λ©΄μ μ§λ¬Έ 리μ€νΈ (0) | 2022.08.30 |
[OS] νμ΄μ§κ³Ό μΈκ·Έλ©ν μ΄μ (0) | 2022.08.30 |
[OS] νμ΄μ§ κ΅μ²΄ μκ³ λ¦¬μ¦ (0) | 2022.08.30 |
[OS] μμ€ν νΈμΆ(System calls) (0) | 2022.08.30 |