Django's Design philosophies
๐ก DJANGO ์ค๊ณ ์ฒ ํ
Django docs์ ์๋ ๋ด์ฉ์ ์ฝ์ผ๋ฉด์ ์ ๋ฆฌํ๋ค.
1. ๋์จํ ๊ฒฐํฉ
Django์ ๊ธฐ๋ณธ ๋ชฉํ๋ โ๋์จํ ๊ฒฐํฉโ๊ณผ โํํํ ์์งโ์ด๋ค.
๋์จํ ๊ฒฐํฉ์ ํ๋์ ์ฝคํฌ๋ํธ์ ๋ณ๊ฒฝ์ด ๋ค๋ฅธ ์ฝคํฌ๋ํธ๋ค์
๋ณ๊ฒฝ์ ์๊ตฌํ๋ ์ํ์ ์ค์ด๋ ๊ฒ์ ๋ชฉ์ ์ผ๋ก ํ๋ ์์คํ ์์
์ฝคํฌ๋ํธ ๊ฐ์ ๋ด๋ถ ์์กด์ฑ์ ์ค์ด๋ ๊ฒ์ ์ถ๊ตฌํ๋ ๋์์ธ ๋ชฉํ๋ค.
๋์จํ ๊ฒฐํฉ์ ์์คํ ์ ๋์ฑ ์ ์ง ํ ์ ์๋๋ก ๋ง๋ค๊ณ ,
์ ์ฒด ํ๋ ์์ํฌ๋ฅผ ๋์ฑ ์์ ์ ์ผ๋ก ๋ง๋ค๊ณ ์์คํ ์ ์ ์ฐ์ฑ์
์ฆ๊ฐํ๊ฒ ํ๋ ค๋ ์๋๋ฅผ ๊ฐ์ง ํฌ๊ด์ ์ธ ๊ฐ๋ ์ด๋ค.
ํ๋ ์์ํฌ์ ๊ฐ ๊ณ์ธต์ ์ ๋ง๋ก ํ์ํ๊ธฐ ์ ์๋ ์๋ก ์์ง ๋ชปํด์ผํ๋ค.
์๋ฅผ ๋ค์ด, Template ์์คํ ์ ์น ์์ฒญ์ ๋ํด ์์ง ๋ชปํ๊ณ ,
DataBase ๊ณ์ธต์ ๋ฐ์ดํฐ ํ์ถ์ ๋ํด ์์ง ๋ชปํ๋ฉฐ, View ์์คํ ์
ํ๋ก๊ทธ๋๋จธ๊ฐ ์ด๋ค Template ์์คํ ์ ์ฌ์ฉํ๋์ง ์์ง ๋ชปํ๋ค.
Django๋ ํธ์์ฑ์ ์ํด ํ ์คํ์ผ๋ก ์ ๊ณต๋์ง๋ง, ์คํ์ ๊ฐ ๋ถ๋ถ์
๊ฐ๋ฅํ ํ ๋ ๋ฆฝ์ฑ์ ๊ฐ๋๋ค.
2. ์ ์ ์ฝ๋
Django๋ ๊ฐ๋ฅํ ํ ์ต์ํ์ ์ฝ๋๋ฅผ ์ฌ์ฉํ๋ฉฐ, ํ์ ๋ฐํ ์ฝ๋๋ฅผ ๋ฐฐ์ ํฉ๋๋ค.
Django๋ ์ธํธ๋ก์คํ์ ๊ณผ ๊ฐ์ Python์ ๋์ ์ธ ๊ธฐ๋ฅ์ ์ต๋ํ ํ์ฉํฉ๋๋ค.
3. ์ ์ํ ๊ฐ๋ฐ
21์ธ๊ธฐ์ ์น ํ๋ ์์ํฌ์ ์ฃผ์์ ์ ์น ๊ฐ๋ฐ์ ์๋๋ฅผ ๋์ด๋ ๊ฒ์ ๋๋ค.
Django๋ ๋๋ผ์ฐ๋ฆฌ๋งํผ ๋น ๋ฅธ ์น ๊ฐ๋ฐ์ ๊ฐ๋ฅ์ผ ํด์ผ ํฉ๋๋ค.
4. ๋ฐ๋ณตํ์ง ๋ง ๊ฒ(DRY)
๊ณ ์ ํ ๊ฐ๋ ๋ฐ ๋ฐ์ดํฐ๋ ๋จ ํ ๋ฒ, ๋จ ํ ๊ณณ์ ์กด์ฌํ๋ ๊ฒ์ผ๋ก ์กฑํฉ๋๋ค.
์ค๋ณต์ฑ์ ๋์ ๊ฒ์ด๊ณ , ์ ๊ทํ๋ ์ข์ ๊ฒ์ ๋๋ค.
๊ทธ๋ฌํ ์ด์ ๋ก, ๋ณธ ํ๋ ์์ํฌ๋ ์ต์ํ์ ๊ฒ๋ค์ ๊ฐ์ง๊ณ ์ต๋ํ์ ๊ฒ์
๋ง๋ค์ด๋ด๋๋ก ํด์ผ ํฉ๋๋ค.