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. ์์ ๋ : ํ๋ ์์ํฌ๋ ์ ์์๊ฐ ๋ง๋ ๊ตฌ์กฐ์์ ํฌ๊ฒ ๋ฒ์ด๋ ์ ์์ด ๊ฐ๋ฐ์๊ฐ ์์ ๋กญ๊ฑฐ๋ ์ ์ฐํ๊ฒ ๋ง๋ค๊ธฐ ์ด๋ ต๋ค.
'๐ฉ๐ปโ๐ป Developer > ์ ์ ๊ฐ๋ฐ์ ์ง์' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
JPA ์ Mybatis๋ ๋ฌด์์ธ๊ฐ? / JPA์ Mybatis์ ์ฐจ์ด (1) | 2024.03.26 |
---|---|
[๋คํธ์ํฌ] REST API๋? (0) | 2024.03.14 |
[๊ธฐ๋ณธ ์ง์] Node.js๋? (1) | 2024.03.08 |
๊ฐ๋ฐ์์๊ฒ ํด๋ฆฐ์ฝ๋๊ฐ ์ค์ํ ์ด์ (0) | 2024.02.08 |
์์๋๋ฉด ์ ์ฉํ ๋งฅ ํฐ๋ฏธ๋ ๋ช ๋ น์ด (0) | 2024.02.07 |
๋๊ธ