πŸ‘©πŸ»‍πŸ’» Developer/μ‹ μž… 개발자 지식

μ•„ν‚€ν…μ²˜, ν”„λ ˆμž„μ›Œν¬λž€ 무엇인가?

Junyung 2024. 3. 13. 15:39

Architecture(μ•„ν‚€ν…μ²˜) λž€?

μ•„ν‚€ν…μ²˜λŠ”

        μ‹œμŠ€ν…œ ꡬ성 및 λ™μž‘ 원리λ₯Ό λ‚˜νƒ€λ‚΄κ³  μžˆλ‹€.

        ꡬ성 μš”μ†Œ κ°„μ˜ 관계 및 μ‹œμŠ€ν…œ μ™ΈλΆ€ ν™˜κ²½κ³Όμ˜ 관계가 λ¬˜μ‚¬λœλ‹€. 

μ•„ν‚€ν…μ²˜λž€ "μ„œλΉ„μŠ€μ˜ λ™μž‘μ›λ¦¬λ₯Ό λ‚˜νƒ€λ‚΄λŠ”κ²ƒ" 즉, ν•˜λ‚˜μ˜ μ„œλΉ„μŠ€κ°€ μ–΄λ–»κ²Œ ꡬ성이 되며 μ–΄λ–»κ²Œ λ™μž‘μ΄ λœλ‹€. λ₯Ό λ‚˜νƒ€λ‚Έ 것

 

μ•„ν‚€ν…μ²˜ vs 섀계 

μ•„ν‚€ν…μ²˜μ™€ μ„€κ³„λŠ” λΉ„μŠ·ν•˜μ§€λ§Œ λ‹€λ₯Έ μš©μ–΄μ΄λ‹€.

더보기

μ•„ν‚€ν…μ²˜ : κ³ μˆ˜μ€€μ˜ ꡬ쑰 λ˜λŠ” 결정사항

섀계(Design) : μ €μˆ˜μ€€μ˜ ꡬ쑰 λ˜λŠ” 결정사항 

이 두 μš©μ–΄λŠ” 본질적으둜 같은 μ˜λ―Έμ΄λ‹€.

λͺ¨λ‘ SW 전체 μ„€κ³„μ˜ ꡬ성 μš”μ†Œμ΄λ©°, κ°œλ³„λ‘œ μ‘΄μž¬ν•  수 μ—†κ³  경계가 λšœλ ·ν•˜μ§€ μ•Šλ‹€. 

κ³ μˆ˜μ€€, μ €μˆ˜μ€€ 쀑 μ˜μ‚¬κ²°μ •μ˜ μ—°μ†μ„±μ˜ 차이이닀.


Framework(ν”„λ ˆμž„μ›Œν¬)λž€?

"Frame"은 'ν‹€' , "Work"λŠ” 'μΌν•˜λ‹€' λΌλŠ” λ‹¨μ–΄μ˜ ν•©μ„±μ–΄λ‘œ "틀을 κ°€μ§€κ³  μΌν•˜λ‹€" λΌλŠ” 뜻으둜 이해할 수 μžˆλ‹€. 

즉, FrameworkλŠ” μΌμ •ν•œ ν‹€κ³Ό λΌˆλŒ€λ₯Ό κ°€μ§€κ³  μΌν•˜λ‹€λΌλŠ” 뜻으둜 μ œκ³΅λ˜λŠ” μΌμ •ν•œ μš”μ†Œμ™€ ν‹€, κ·œμ•½μ„ κ°€μ§€κ³  무엇가λ₯Ό λ§Œλ“œλŠ” 일을 λ§ν•œλ‹€.

더보기

Framework : ν”„λ‘œκ·Έλž¨μ„ κ°œλ°œν•˜κΈ° μœ„ν•΄ μ‚¬μš©λ˜λŠ” 틀을 μ œκ³΅ν•˜λŠ” ν”„λ‘œκ·Έλž¨

Framework μ’…λ₯˜ 

  • μžλ°” ν”„λ ˆμž„μ›Œν¬ : Struts, Spring, μ „μžμ •λΆ€ ν”„λ ˆμž„μ›Œν¬ λ“±
  • QRM ν”„λ ˆμž„μ›Œν¬ : myBatis(iBatis), Hibernate λ“±
  • Javascript ν”„λ ˆμž„μ›Œν¬ : AngularJS, React, Polymer, Ember λ“± 
  • Front-end ν”„λ ˆμž„μ›Œν¬ : Bootstrap, Foundation, MDL λ“±

Framework의 μž₯점

1. νš¨μœ¨μ μ΄λ‹€ : 기본적인 틀이 μ‘΄μž¬ν•˜κΈ° λ•Œλ¬Έμ— μ‹œκ°„λ„ μ ˆμ•½λ˜λ©° 훨씬 더 빨리 λ§Œλ“€ 수 μžˆλ‹€. 

2. μœ μ§€λ³΄μˆ˜κ°€ 쉽닀 : ν”„λ ˆμž„μ›Œν¬λ₯Ό μ‚¬μš©ν•˜λ©΄ 체계적이기 λ•Œλ¬Έμ— λ‹€λ₯Έμ‚¬λžŒμ΄ λ§Œλ“ κ²ƒμ΄λΌλ„ μ•Œμ•„λ³΄κΈ° μ‰¬μ›Œ μœ μ§€λ³΄μˆ˜κ°€ νŽΈν•˜λ‹€.

 

Framework의 단점 

1. ν•™μŠ΅μ‹œκ°„μ΄ κΈΈλ‹€ : 기본적인 ν‹€κ³Ό μ‚¬μš©λ²•μ„ μ΅ν˜€μ•Ό ν•΄μ„œ ν”„λ ˆμž„μ›Œν¬μ— μžˆλŠ” μ½”λ“œ ν•™μŠ΅μ΄ 였래 κ±Έλ¦°λ‹€. 

2. μžμœ λ„ : ν”„λ ˆμž„μ›Œν¬λŠ” μ œμž‘μžκ°€ λ§Œλ“  κ΅¬μ‘°μ—μ„œ 크게 λ²—μ–΄λ‚  수 μ—†μ–΄ κ°œλ°œμžκ°€ μžμœ λ‘­κ±°λ‚˜ μœ μ—°ν•˜κ²Œ λ§Œλ“€κΈ° μ–΄λ ΅λ‹€.