πŸ§‘πŸ»‍πŸ’» CS/ν”„λ‘œκ·Έλž˜λ°

[SOLID] 쒋은 객체 지ν–₯ μ„€κ³„μ˜ 5κ°€μΉ˜ 원칙

10000COW 2022. 12. 20. 22:44
728x90

SOLIDλž€?

ν”„λ‘œκ·Έλž˜λ¨Έκ°€ μœ μ§€λ³΄μˆ˜μ™€ ν™•μž₯이 μ‰¬μš΄ ν”„λ‘œκ·Έλž¨μ„ λ§Œλ“€κ³ μž ν•  λ•Œ μ μš©ν•  수 μžˆλŠ” 원칙.

μ†ŒμŠ€ μ½”λ“œκ°€ 읽기 쉽고, ν™•μž₯ν•˜κΈ° μ‰¬μšΈ λ•ŒκΉŒμ§€ λ¦¬νŒ©ν„°λ§ν•  λ•Œ μ μš©ν•  수 μžˆλŠ” 지침이닀.

이 원칙은 μ• μžμΌ μ†Œν”„νŠΈμ›¨μ–΄ 개발 μ „λž΅μ˜ 일뢀이닀.

 

S(Single responsibilitty principle): 단일 μ±…μž„ 원칙

ν•œ ν΄λž˜μŠ€λŠ” ν•˜λ‚˜μ˜ μ±…μž„λ§Œ κ°€μ Έμ•Ό ν•œλ‹€.

 

O(Open / closed principle): 개방 - 폐쇄 원칙

μ†Œν”„νŠΈμ›¨μ–΄ μš”μ†ŒλŠ” ν™•μž₯μ—λŠ” μ—΄λ € μžˆμœΌλ‚˜ λ³€κ²½μ—λŠ” λ‹«ν˜€ μžˆμ–΄μ•Ό ν•œλ‹€.

 

L(Liskov substitution principle): λ¦¬μŠ€μ½”ν”„ μΉ˜ν™˜ 원칙

κ°μ²΄λŠ” ν”„λ‘œκ·Έλž¨μ˜ 정확성을 κΉ¨λœ¨λ¦¬μ§€ μ•ŠμœΌλ©΄μ„œ ν•˜μœ„ νƒ€μž…μ˜ μΈμŠ€ν„΄μŠ€λ‘œ λ°”κΏ€ 수 μžˆμ–΄μ•Ό ν•œλ‹€.

 

I(Interface segregation principle): μΈν„°νŽ˜μ΄μŠ€ 뢄리 원칙

νŠΉμ • ν΄λΌμ΄μ–ΈνŠΈλ₯Ό μœ„ν•œ μΈν„°νŽ˜μ΄μŠ€ μ—¬λŸ¬ κ°œκ°€ λ²”μš” μΈν„°νŽ˜μ΄μŠ€ ν•˜λ‚˜λ³΄λ‹€ λ‚«λ‹€.

 

D(Dependency inversion principle): μ˜μ‘΄κ΄€κ³„ μ—­μ „ 원칙

ν”„λ‘œκ·Έλž˜λ¨ΈλŠ” 좔상화에 μ˜μ‘΄ν•΄μ•Όμ§€, ꡬ체화에 μ˜μ‘΄ν•˜λ©΄ μ•ˆλœλ‹€.

728x90