Skip to content

Latest commit

Β 

History

History
76 lines (45 loc) Β· 2.61 KB

oop.md

File metadata and controls

76 lines (45 loc) Β· 2.61 KB

객체지ν–₯


SOLID원칙에 λŒ€ν•΄μ„œ μ„€λͺ…ν•˜μ„Έμš”

μ˜ˆλΉ„ λ‹΅μ•ˆ 보기 (πŸ‘ˆ Click)
  • SRP(Single Responsibility Principle) : 단일 μ±…μž„ 원칙, μ €μ˜ 개인 λ‹΅λ³€κ³Ό κ°™μŠ΅λ‹ˆλ‹€.

  • OCP(Open Clos Principle) : 개방 νμ‡„μ˜ 원칙, ν΄λž˜μŠ€λŠ” ν™•μž₯μ—λŠ” μ—΄λ €μžˆκ³ , λ³€κ²½μ—λŠ” λ‹«ν˜€ μžˆμ–΄μ•Ό ν•œλ‹€λŠ” μ›μΉ™μž…λ‹ˆλ‹€.

    • ν™•μž₯에 λŒ€ν•΄μ„œ μ—΄λ €μžˆλ‹€ : μ½”λ“œ λ™μž‘μ„ ν™•μž₯ν•  수 μžˆλ‹€.
    • μˆ˜μ •μ— λŒ€ν•΄μ„œ λ‹«ν˜€μžˆλ‹€ : μ½”λ“œ λ™μž‘μ„ ν™•μž₯ν•˜λ”λΌλ„ κ·Έ λ°–μ˜ μ½”λ“œλŠ” μ „ν˜€ 영ν–₯을 받지 μ•ŠλŠ”λ‹€.
  • LSP(Liskov Substitution Principle) : λ¦¬μŠ€μ½”ν”„ μΉ˜ν™˜μ˜ 원칙, μ„œλΈŒ νƒ€μž…μ€ μ–Έμ œλ‚˜ 기반 νƒ€μž…μœΌλ‘œ ꡐ체할 수 μžˆμ–΄μ•Ό ν•œλ‹€λΌλŠ” μ›μΉ™μž…λ‹ˆλ‹€. μ‰½κ²Œ μ„€λͺ…ν•˜λ©΄ λΆ€λͺ¨κ°€ λ™μž‘ν•˜λŠ” κΈ°λŠ₯은 μžμ‹λ„ λ™μΌν•˜κ²Œ λ™μž‘ν•΄μ•Ό ν•œλ‹€λŠ” κ²ƒμž…λ‹ˆλ‹€.

  • ISP(Interface Segregation Principle) : μΈν„°νŽ˜μ΄μŠ€ λΆ„λ¦¬μ˜ 원칙, μžμ‹ μ΄ μ‚¬μš©ν•˜μ§€ μ•ŠλŠ” μΈν„°νŽ˜μ΄μŠ€λŠ” κ΅¬ν˜„ν•˜μ§€ 말아야 ν•œλ‹€λŠ” μ›μΉ™μž…λ‹ˆλ‹€. λ°”κΏ” λ§ν•˜λ©΄, ν•˜λ‚˜μ˜ 큰 μΈν„°νŽ˜μ΄μŠ€λ³΄λ‹€λŠ” μ—¬λŸ¬κ°œμ˜ μž‘μ€ μΈν„°νŽ˜μ΄μŠ€λ₯Ό κ΅¬ν˜„ν•˜λŠ” 것이 낫닀라고도 ν•  수 μžˆμŠ΅λ‹ˆλ‹€.

  • DIP(Dependency Inversion Principle) : 의쑴 관계 μ—­μ „μ˜ μ›μΉ™μž…λ‹ˆλ‹€. ꡬ쑰적 λ””μžμΈμ—μ„œ λ°œμƒν•˜λ˜ ν•˜μœ„ 레벨 λͺ¨λ“ˆμ˜ 변경이 μƒμœ„ 레벨 λͺ¨λ“ˆμ˜ 변경을 μš”κ΅¬ν•˜λŠ” μœ„κ³„κ΄€κ³„λ₯Ό λŠλŠ” 의미의 μ—­μ „μž…λ‹ˆλ‹€. μ‰½κ²Œ λ§ν•˜λ©΄ μ½”λ“œμ—μ„œλŠ” μΈν„°νŽ˜μ΄μŠ€μ—μ„œ κ΅¬ν˜„ν•˜λŠ” 클래슀둜 κ·Έ 의쑴 관계가 흐λ₯΄μ§€λ§Œ μ‹€ν–‰μ‹œμ—λŠ” μ—­μ „λœλ‹€ μ •λ„λ‘œ μƒκ°ν•˜μ‹œλ©΄ λ˜κ² μŠ΅λ‹ˆλ‹€.

Ref. SOLID 원칙. Tistory dev-momo, 2018λ…„ ν•˜λ°˜κΈ° 'γ…ˆ' κΈ°μ—… 개발자 λ©΄μ ‘




μ‹±κΈ€ν†€μ΄λž€?

μ˜ˆλΉ„ λ‹΅μ•ˆ 보기 (πŸ‘ˆ Click)

μ–΄λ–€ 클래슀의 μΈμŠ€ν„΄μŠ€ κ°œμˆ˜κ°€ μ΅œλŒ€ ν•œ 개λ₯Ό λ„˜μ§€ μ•Šλ„λ‘ ν•˜λŠ” νŒ¨ν„΄




MVC νŒ¨ν„΄μ΄λž€?

#μ‚¬μš©μ‹œ μž₯점 #μ–Έμ œ μ‚¬μš©ν•˜λŠ”μ§€

λ‹΅μ•ˆ μ€€λΉ„μ€‘μž…λ‹ˆλ‹€.




λ””μžμΈ νŒ¨ν„΄μ΄λž€?

λ‹΅μ•ˆ μ€€λΉ„μ€‘μž…λ‹ˆλ‹€.





μš©κ°ν•œ μΉœκ΅¬λ“€ with 남솑리 μ‚Όλ²ˆμ§€