Home - oneso123456789/2022 GitHub Wiki
Wiki λ΄μ© velogλ‘ μ΄μ νκ³ λ΄μ© μ 리 λ° λ³΄μνκΈ°
μ€νλ§μ 3λ μμ
IOC/DIλ₯Ό λ¬Άμ΄μλ λ§μ΄ μ 리νμ§λ§ λ°λ‘ νμ
μ€νλ§ ioc(inversion of control):
κ°λ¨ν λ§ν΄μ κ°μ²΄μ μ μ΄κΆ(λΉμ μμ±κ³Ό κ΄κ³μ€μ , μ¬μ©, μ κ±°λ±μ μμ )μ΄ κ°λ°μ(μ½λ)μμ μ€νλ§ μ»¨ν μ΄λ(IoC 컨ν μ΄λ)λ‘ λμ΄κ°κ²μ λ§ν¨
μ₯μ μ κ°λ°μμ λΆλ΄μ΄ μ€μ΄μ ν΅μ¬ λ‘μ§μ μ§μ€ν μμλ€λμ μ
μ€νλ§ DI(Dependency Injection):
κ°μ²΄ μ¬μ΄μ μμ‘΄ κ΄κ³λ₯Ό μΈλΆμμ κ²°μ νκ³ μ£Όμ νλκ²μ
μ₯μ μ μ£Όμ λ°λ λμμ΄ λ³νλλΌλ κ·Έ ꡬν μ체λ₯Ό μμ ν μΌμ΄ μμ΄ μ¬μ¬μ©μ΄ λμ μ½λκ° λ¨
μ€νλ§ PSA (Portable Service Abstraction):
μΌκ΄μ± μλ μλΉμ€ μΆμν
λνμ μΌλ‘ JDBCκ° μ‘΄μ¬ν¨
μ΄λ ν DBλ₯Ό μ¬μ©νλλΌλ 곡ν΅λ λ°©μμΌλ‘ μ½λ μμ±
Spring AOP (Aspect - Oriented Programming):
κ΄μ μ§ν₯ νλ‘κ·Έλλ°μ΄λ©°
μ΄λ€ λ‘μ§μ κΈ°μ€μΌλ‘ ν΅μ¬μ μΈ κ΄μ , λΆκ°μ μΈ κ΄μ μΌλ‘ λλμ΄μ 보κ³
κ·Έ κ΄μ μ κΈ°μ€μΌλ‘ κ°κ° λͺ¨λν νκ² λ€λ κ²μ
(λͺ¨λνλ μ΄λ€ 곡ν΅λ λ‘μ§μ΄λ κΈ°λ₯μ νλμ λ¨μλ‘ λ¬Άλ κ²μ λ§ν¨)
μ₯μ μ κ° λ‘μ§μμ λ‘κΉ , νΈλμμ κ³Ό κ°μ λ°λ³΅λλ κΈ°λ₯μ λͺ¨λν ν΄μ μ¬μ¬μ©ν μμμ OOPλ₯Ό λ μ ꡬνκ°λ₯ AOPλ₯Ό μ¬μ©νμ¬ λ‘κΉ ,νΈλμμ κ΄λ¦¬, μνλ¦¬ν° μμμ μ μ© λ± AspectJμ κ°μ΄ μλ²½νκ² κ΅¬νλ AOPμ ν΅ν©νμ¬ μ¬μ© κ°λ₯ν¨
μΆμ²
μ½λλ‘ λ°°μ°λ μ€νλ§ μΉ νλ‘μ νΈ
https://steady-coding.tistory.com/600#
https://guy-who-writes-sourcecode.tistory.com/40
https://engkimbs.tistory.com/746
μμ¦ λλΌλ 건λ μκ³ λ¦¬μ¦ λ₯λ ₯μ ν€μ°λκ² μ±
μμ μΉ λ‘μ§ κ³΅λΆλ³΄λ€ λ μ€μνκ±° κ°μ
μ½λ© ν
μ€νΈ λ¬Έμ μ°μ΅ λ°±μ€ or μ½λμ
νμ
νλ‘κ·Έλ¨ λ
Έμ
or μ¬λ μμ§
githubλ₯Ό μ΄μ©ν΄μ μ΅λν μ½λ 리뷰λ₯Ό ν΄μ£Όλ €κ³ λ Έλ ₯νκ³ λ°μΌλ €κ³ λ Έλ ₯νμ
λ¬Έμ λ₯Ό ν΄κ²°ν λ μν©λ§λ€ μ ν©ν λ°©λ²μ μμ§λ§ νλ¦° λ°©λ²μ μλ€