π» Dev
5
κ°λ° μ λ°μ λν λ΄μ©μ λ€λ£Ήλλ€.
μ±κΈν€μ ν¨μ ? μμ‘΄μ± μ£Όμ
μ ν΅ν λ λμ μν€ν
μ² μ€κ³μννΈμ¨μ΄ μν€ν
μ²μλ μμ‘΄μ±μ λͺ
νν κ΄λ¦¬νλ κ²μ μ μ§λ³΄μμ±κ³Ό νμ₯μ±μ μν΄ νμμ μ΄λ€.μ½μ κΈ°λ°μ μ«μ μΌκ΅¬ νλ‘μ νΈλ₯Ό μ§ννλ©΄μ ν΄λ¦° μν€ν
μ²μ Repositoryλ₯Ό μ±κΈν€μΌλ‘ ꡬν ν μ§μ μ°Έμ‘°νλλ°, μκ°ν΄λ³΄λ μ΄ λ°©μμ ν΄λ¦° μν€ν
μ²μ μμ‘΄μ± λΆλ¦¬ μμΉμ μλ°νκ³ μμλ€. μ‘°μ¬λ₯Ό ν΄λ³΄λ, ν΄λ¦° μν€ν
μ²μμλ Repositoryλ₯Ό μ±κΈν€μ΄ μλ
λ¨μΌ μ±
μ μμΉ (SRP: Single Responsibility Principle) - μ μ§λ³΄μμ±μ λμ΄λ μ€κ³ μμΉλ¨μΌ μ±
μ μμΉ(SRP)μ΄λ?ν΄λμ€λ λͺ¨λμ λ¨ νλμ λ³κ²½ μ΄μ λ§ κ°μ ΈμΌ νλ€.SRPλ νλμ ν΄λμ€ λλ λͺ¨λμ΄ μ΄λ € κ°μ μν μ λ΄λΉνλ©΄ μ λλ©°, λ³κ²½ν΄μΌ νλ μ΄μ κ° νλμ¬μΌ νλ€λ μλ―Έλ₯Ό κ°μ§λ€. μ¦, ν΄λμ€λ νλμ λͺ
νν λͺ©μ μ κ°μ ΈμΌ νλ©°, νλμ μ±
μλ§ μνν΄μΌ νλ€.μ½κ² λ§ν΄, νλμ ν΄λμ€λ νλμ μν λ§ μνν΄μΌ νλ€. μ¬λ¬ κ°μ κΈ°
λΉλκΈ° νλ‘κ·Έλλ°μ μ΄ν΄λΉλκΈ° νλ‘κ·Έλλ°μ΄λ?λκΈ°(Synchronous) vs λΉλκΈ°(Asynchronous) νλ‘κ·Έλλ°λκΈ°(Synchronous) νλ‘κ·Έλλ°νλμ μμ
μ΄ λλ λκΉμ§ λ€μ μμ
μ μ€ννμ§ μμμμ
μ΄ μλ£λ λκΉμ§ μ±μ΄ λ©μΆ κ²μ²λΌ λ³΄μΌ μ μμprint("μμ
μμ")
sleep(3) // 3μ΄ λμ λ©μΆ€
print("μμ
μλ£")λ¬Έμ μ sleep(3) λμ λ€λ₯Έ
μν€ν
μ²μ λμμΈ ν¨ν΄μν€ν
μ²μν€ν
μ²(Architecture)λ?μννΈμ¨μ΄ μν€ν
μ²λ μ±μ μ 체μ μΈ κ΅¬μ‘°λ₯Ό μ€κ³νλ λ°©λ²μ΄λ€.μ½λκ° μ 리λμ§ μκ³ λͺ¨λ λ‘μ§μ΄ ViewControllerμ μ§μ€λλ©΄ μ μ§λ³΄μκ° μ΄λ €μμν€ν
μ²λ₯Ό μ μ©νλ©΄ μ½λκ° λͺ¨λνλκ³ νμ₯μ±μ΄ μ’μμ§μν€ν
μ²λ₯Ό μ μ©νλ©΄ μ’μ μ μ½λκ° κ°λ
μ±μ΄ λμμ§κ³ μ μ§λ³΄μκ° μ¬μμ§μ±μ΄ μ»€μ Έλ κ° μ»΄ν¬λνΈλ₯Ό μ½κ² λΆλ¦¬ λ° νμ₯
νκ·Έ
iosSwiftSRPλ¨μΌ μ±
μ μμΉClean ArchitectureSingletonDependency InjectionDependency Inversion Principle
μ΅κ·Ό λκΈ

meowbutlerdev
μ’μ μ견 κ°μ¬ν©λλ€!
λ§μν΄μ£Όμ κ²μ²λΌ, μ±κΈν€ μμ²΄κ° μμ‘΄μ± λΆλ¦¬ μμΉμ μ λ°λ κ°λ
μ μλκ³ , μμ‘΄μ± μ£Όμ
κ³Ό ν¨κ» μ¬μ©ν μλ μμ΅λλ€.
μ¬μ€ μ κ° κΈμμ λ§νκ³ μΆμλ λΆλΆμ 'μ±κΈν€μ μ§μ μ°Έμ‘°νλ λ°©μμ΄ μμ‘΄μ± λΆλ¦¬ μμΉμ μλ°ν μ μλ€`λ μ μ΄μλλ°μ.
λκΈμ λ³΄κ³ κΈμ λ€μ ν λ² μ λ
ν΄λ³΄λ μ κ° κΈμ μ€ν΄μ μμ§κ° μκ² μμ±νμμ΅λλ€.
λ§μν΄μ£Όμ λΆλΆμ λν΄μ λ κΉμ΄ μκ² κ³΅λΆν΄λ³΄κ³ κΈμ μμ νλλ‘ νκ² μ΅λλ€.
μ견 μ£Όμ
μ λ€μ ν λ² κ°μ¬λ립λλ€!
octoping
`let userService = UserService(repository: UserRepository.shared)`
λ€μκ³Ό κ°μ΄ μ¬μ©νλ©΄, μ±κΈν€μ μ΄μ©νλ©΄μλ μμ‘΄μ± μ£Όμ
μ μ μ©ν μ μμ κ² κ°μ΅λλ€!
μ€μ λ‘ Spring, NestJSμ κ°μ λ°±μλ νλ μμν¬μμλ μμ‘΄μ± μ£Όμ
+ μ±κΈν€ ν¨ν΄μ κ°μ΄ μ¬μ©νκ³ μμ΄μ.
μ±κΈν€μ κ°μ²΄λ₯Ό μμ±νλ λ°©λ²μ λν 'μμ± ν¨ν΄'μ΄κΈ° λλ¬Έμ, μμ‘΄μ± λΆλ¦¬ μμΉκ³Ό μ λ°λμ κ°λ
μ΄ μλκ±°λ μ.