Layered-architecture.md
Last updated
Last updated
Wikipedia
μ£Όμ΄μ§ μν©μμμ μννΈμ¨μ΄ μν€ν μ³μμ μΌλ°μ μΌλ‘ λ°μνλ λ¬Έμ μ λ€μ λν μΌλ°νλκ³ μ¬μ¬μ© κ°λ₯ν μ루μ μ΄λ€. μν€ν μ³ ν¨ν΄μ μννΈμ¨μ΄ λμμΈ ν¨ν΄κ³Ό μ μ¬νμ§λ§ λν° λ²μ£Όμ μνλ€.
μ¦, μννΈμ¨μ΄μ μ 체μ μΈ κ΅¬μ‘°λ₯Ό μ‘μμ€λλ€. μ΄λ€ μν©μ μ΄λ€ μν€ν μ²λ₯Ό μ¬μ©νλμ§μλ°λΌ μ±λ₯μ μ°¨μ΄κ° λ μ μκΈ°λλ¬Έμ μ μ ν μν€ν μ²λ₯Ό μ νν΄μΌν©λλ€.
== n-tier Architecture Pattern
κ³μΈ΅ν μν€ν μ² ν¨ν΄
λ μ΄μ΄λ μν€ν μ²λ νμ λͺ¨λλ€μ κ·Έλ£ΉμΌλ‘ λλ μ μλ ꡬ쑰νλ νλ‘κ·Έλ¨μμ μ¬μ©ν μ μμ΅λλ€. κ° λͺ¨λμ νΉμ ν μμ€μ μΆμνλ₯Ό μ 곡ν©λλ€. μ΄ λ μμ κ³μΈ΅μ μΆμν μμ€μ μΌλ°μ μΌλ‘ λ€μκ³Ό κ°μ΅λλ€.
Presentation Layer
Application Layer
Business logic Layer
Data Access Layer
Presentation Layer
UI κ³μΈ΅μΌλ‘λ λΆλ¦Ό
μ§μνλ©΄ 'νν κ³μΈ΅'μ΄λΌκ³ λΆλ¦¬λλ°, ν΄λΌμ΄μΈνΈμκ² ννν΄μ£Όλ λ¨κ³λΌκ³ λ³Ό μ μμ΅λλ€.
request λ₯Ό μ§μ λ°λλ€.
Application Layer
μλΉμ€ κ³μΈ΅μΌλ‘λ λΆλ¦Ό
μνΈμμ©νλ μλΉμ€μ νμν μ 보λ₯Ό μ λ¬νλ λ μ΄μ΄λΌκ³ λ³Ό μ μμ΅λλ€.
Business Layer
λλ©μΈ κ³μΈ΅μΌλ‘λ λΆλ¦Ό
μ€μ μμ€ν μ λ‘μ§μ΄ ꡬνλμ΄μλ λ μ΄μ΄λΌκ³ λ³Ό μ μμ΅λλ€.
Data Access Layer
μμ κ³μΈ΅μ΄λΌκ³ λ λΆλ¦Ό
λ°μ΄ν°λ² μ΄μ€ κ΄λ ¨ λ‘μ§λ€μ μ²λ¦¬νλ λ μ΄μ΄μ λλ€.
μΌλ°μ μΈ e-commerceλ μΉ μ΄ν리μΌμ΄μ μμ μμ£Ό μ¬μ©ν©λλ€.
Controller
Presentation Layerμ ν΄λΉν©λλ€.
μ§μ μλν¬μΈνΈλ₯Ό μ μνκ³ requestλ₯Ό λ°λ λͺ¨λμ λλ€.
μ€λ³΅μ μ²λ¦¬νκΈ°μν΄ λ³λμ κ°μ²΄λ‘ λΆλ¦¬νκ³ μ΄λ₯Ό λ©μλλ‘ λΆλ¦¬ν©λλ€.
Service
Business Logicμ μννλ λ©μλλ₯Ό κ°μ§κ³ μλ λΆλΆμ λλ€.
νλμ λΉμ¦λμ€ λ‘μ§μ νλμ νΈλμμ μΌλ‘ λμνλ κ²μ΄ μΌλ°μ μ λλ€.
νΈλμμ
μμμ± (Atomicity)
rollback - λ³κ²½μ¬ν μ·¨μ
commit - λ³κ²½μ¬ν μ μ₯
μΌκ΄μ± (Consistency)
νΈλμμ μ΄ μ§νλλ λμμ λ°μ΄ν°κ° λ³κ²½λλλΌλ μ λ°μ΄νΈλ λ°μ΄ν°λ‘ νΈλμμ μ΄ μ§νλλ κ²μ΄ μλλΌ, μ²μμ νΈλμμ μ μ§ννκΈ° μν΄ μ°Έμ‘°ν λ°μ΄ν°λ‘ μ§νλλ€.
λ λ¦½μ± (Isolation)
νλμ νΉμ νΈλμμ μ΄ μλ£λ λκΉμ§, λ€λ₯Έ νΈλμμ μ΄ νΉμ νΈλμμ μ κ²°κ³Όλ₯Ό μ°Έμ‘°ν μ μμ΅λλ€.
μ§μμ± (Durability)
νΈλμμ μ΄ μ±κ³΅μ μΌλ‘ μλ£λ¬μ κ²½μ°, κ²°κ³Όλ μꡬμ μΌλ‘ λ°μλμ΄μΌ νλ€.
Model
ORMμ΄ μ¬μ©λλ€λ©΄ μΌλ°μ μΌλ‘ λ°μ΄ν°λ² μ΄μ€μ ν μ΄λΈμ μ μνκ³ Serviceμμ κ°μ²΄λ₯Ό μμ±νμ¬ λ‘μ§μ μ²λ¦¬ν©λλ€.
νμ₯μ± μ©μ΄
μ μ§ λ³΄μ μ©μ΄
μ½λ κ°λ μ± πΌ
μ¬μ¬μ©μ± πΌ
ν μ€νΈ ꡬν μ©μ