๋ฐ์ํ
์ด์ ํธ: 2025.01.17 - [๐ Spring] - [Spring]์์ ์๋ฐ ๊ฐ๋ฐ-์ฃผ๋ฌธ๊ณผ ํ ์ธ ๋๋ฉ์ธ. ๊ทธ๋ฆฌ๊ณ ํ ์คํธ
VIPํ์์ ํ ์ธ ์ ์ฑ ์ด ๋ชจ๋ ์ํ 1000์ ํ ์ธ โ 10%ํ ์ธ์ผ๋ก ๋ฐ๋์๋ค.
- discount ํจํค์ง์ ๊ณ ์ ํ ์ธ ์ ์ฑ
RateDiscountPolicy ํด๋์ค๋ฅผ ๋ง๋ค์๋ค.
- ํ
์คํธ๋ฅผ ํด๋ณด์๋ค.
- ์ ๋ฆฌํฌ์งํ ๋ฆฌ๋ฅผ ์๋น์ค์์ ์ฌ์ฉํ๊ธฐ ์ํด FixDiscountPolicy โ RateDiscountPolicy ๋ก ๋ณ๊ฒฝํ๋ค.
- ์์ ์๋ฐ ์ฝ๋๋ก ์ด๋ ๊ฒ ๋ณ๊ฒฝํ์ ๋๋ ๋ฌธ์ ์ ์ด ์๋ค.
์ธํฐํ์ด์ค ๋ฟ๋ง ์๋๋ผ ๊ตฌํํด๋์ค๋ ์์กดํ๊ธฐ ๋๋ฌธ์ DIP์ OCP๋ฒ์น์ ์๋ฐฐํ๋ค.DiscountPolicy ์ ์ฑ = new FixDiscountPolicy ์ธํฐํ์ด์ค ๋ณ์๋ช = new ๊ตฌํํด๋์ค
โ Service์์ Policy ๊ตฌํ ๊ฐ์ฒด๋ฅผ ๋ค๋ฅธ ๊ณณ์ ํตํด ์ฃผ์ ํ์ฌ ์ฝ๋์ ์ค๊ณ๋ฅผ ๋ถ๋ฆฌํ๋ค.
AppConfig
: ๊ตฌํ ๊ฐ์ฒด๋ฅผ ์์ฑํ๊ณ ์ฐ๊ฒฐ.
- AppConfig
๊ตฌํ ๊ฐ์ฒด๋ค ๊ฐ์ ๊ด๊ณ๋ฅผ ์ง์ ํ๋ค. - ์๋น์ค ๊ตฌํ๊ฐ์ฒด์ ์ค๋ ๊ตฌํ๊ฐ์ฒด๋ ์๋ก๋ฅผ ์ง์ ๋ถ๋ฌ์ค์ง ์๋๋ค.
โป ๊ตฌํ ํด๋์ค๋ผ๋ฆฌ ์๋ก ๋ถ๋ฌ์ค์ง ์๊ธฐ ๋๋ฌธ์ DIP์ฃผ์ ์ด ์์ฑ๋๋ค.
โป ์ค์ ์ฝ๋๋ ์ github์์ ๋ณด์ค ์ ์์ต๋๋ค.
โป ์ฐธ์กฐ : https://www.inflearn.com/roadmaps/373
๋ฐ์ํ
'๐ Spring' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[Spring]์ปดํฌ๋ํธ ์ค์บ๊ณผ ์์กด๊ด๊ณ ์๋ ์ฃผ์ (0) | 2025.02.25 |
---|---|
[Spring]@Configuration๊ณผ ๋ฐ์ดํธ์ฝ๋ ์กฐ์ (0) | 2025.02.25 |
[Spring]์์ ์๋ฐ ๊ฐ๋ฐ-์ฃผ๋ฌธ๊ณผ ํ ์ธ ๋๋ฉ์ธ. ๊ทธ๋ฆฌ๊ณ ํ ์คํธ (1) | 2025.01.17 |
[Spring]์คํ๋ง ํต์ฌ ์๋ฆฌ-๊ธฐ๋ณธํธ. ํ๋ก์ ํธ ์์ฑ๊ณผ ๋น์ง๋์ค ์๊ตฌ์ฌํญ. (0) | 2025.01.12 |
[Spring]์คํ๋ง์ด๋? (0) | 2025.01.12 |