๐ ์ธํฐํ์ด์ค ๋ถ๋ฆฌ ์์น (ISP: Interface Segregation Principle)์ด ๋ญ๋ฐ?
: ์ธํฐํ์ด์ค ๋ถ๋ฆฌ ์์น(ISP)์ ํด๋ผ์ด์ธํธ๊ฐ ์์ ์ด ์ด์ฉํ์ง ์๋ ๋ฉ์๋์ ์์กดํ์ง ์์์ผ ํ๋ค๋ ์์น
: ISP๋ฅผ ์งํด์ผ๋ก์จ ํฐ ๋ฉ์ด๋ฆฌ์ ์ธํฐํ์ด์ค๋ฅผ ๊ตฌ์ฒด์ ์ด๊ณ ์์ ๋จ์๋ก ๋ถ๋ฆฌ์ํค๋ฉฐ ํด๋ผ์ด์ธํธ๊ฐ ๊ผญ ํ์ํ ๋ฉ์๋๋ง ์ด์ฉํ ์ ์๊ฒ ํจ
์ธํฐํ์ด์ค ๋ถ๋ฆฌ ์์น์ด ์ง์ผ์ง์ง ์์ ์ฝ๋
- Vechicle ํด๋์ค : go(), fly() ๋ฉ์๋๋ฅผ ๊ฐ์ง ์ถ์ ํด๋์ค
- Aircraft ํด๋์ค : Vehicle ํด๋์ค๋ฅผ ์์
- Car ํด๋์ค : Vehicle ํด๋์ค๋ฅผ ์์
* ์๋์ฐจ๋ flyํ ์ ์๊ธฐ ๋๋ฌธ์ fly() ๋ฉ์๋์์ ์์ธ๋ฅผ ๋ฐ์์ํด
: ์๋์ฐจ ํด๋์ค๋ ํ๊ฒ ํด๋์ค๋ฅผ ์์๋ฐ๊ธฐ๋๋ฌธ์ ๊ธฐ๋ฅ์ ์๋ Fly๋ฅผ ๊ตฌํํด์ผํ๋๋ฐ, ์ด๋ ISP๋ฅผ ์๋ฐํ๋ค.
์ธํฐํ์ด์ค ๋ถ๋ฆฌ ์์น์ด ์ง์ผ์ง ์ฝ๋
- Vehicle ์ธํฐํ์ด์ค : Movable / Flyble ์ธํฐํ์ด์ค๋ก ๋๋๊ณ , Flyable์ Movable๋ฅผ ์์๋ฐ๋๋ค
- Aircraft ํด๋์ค : Flyable ํด๋์ค ์์
- Car ํด๋์ค : Movable ํด๋์ค ์์
* ์๋์ฐจ๋ Movable ๋ฅผ ์์๋ฐ์๊ธฐ ๋๋ฌธ์ ํ์์๋ Fly()๊ธฐ๋ฅ์ ๊ตฌํํ ํ์๊ฐ ์๊ณ , ๋นํ๊ธฐ๋ Movable์ ์์๋ฐ์ Flyable ์ธํฐํ์ด์ค๋ฅผ ์ฌ์ฉํ๊ธฐ ๋๋ฌธ์ go, fly ๊ธฐ๋ฅ์ ๋ค ๊ตฌํ์ด ๊ฐ๋ฅํ๊ณ ํ์์๋ ๊ธฐ๋ฅ์ ๊ตฌํํ์ง ์๊ฒ ๋๋ค.
โญ๏ธ ์ ๋ฆฌ! ์ธํฐํ์ด์ค ๋ถ๋ฆฌ ์์น (ISP)
์ธํฐํ์ด์ค ๋ถ๋ฆฌ ์์น์ด๋ ๋ฐ๋์ ๊ฐ์ฒด๊ฐ ์์ ์๊ฒ ํ์ํ ๊ธฐ๋ฅ๋ง์ ๊ฐ์ง๋๋ก ์ ํํ๋ ์์น์ผ๋ก, ๋ถํ์ํ ์์๊ณผ ๊ตฌํ์ ์ต๋ํ ๋ฐฉ์งํจ์ผ๋ก์จ ๊ฐ์ฒด์ ๋ถํ์ํ ์ฑ ์์ ์ ๊ฑฐํ๋ค.
์์ ์์ ์ ๊ฐ์ด ํ์๋ณด๋ค ํฐ ๊ท๋ชจ์ ๊ฐ์ฒด๋ ์ธํฐํ์ด์ค๋ก ์๊ฒ ๋๋์ด ํ์ฅ์ฑ์ ํฅ์์ํฌ ์ ์์ผ๋ฏ๋ก
๊ฐ์ฒด๋ฅผ ์์ํ ๋๋ ๋ถํ์ํ ์์กด ๊ด๊ณ๊ฐ ๋งบ์ด์ง์ง ์๋์ง ์ ํ๋จํ์ฌ ์ฌ๋ฐ๋ฅด๊ฒ ์์ํด์ผํ๋ค.
'โ๏ธ Java' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
|Radis| Radis Cache โ (0) | 2023.01.04 |
---|---|
| ES | Elasticsearch๊ฐ ๋ญ๋ฐ! (0) | 2023.01.04 |
| ETC | ์ถ์ํด๋์ค์ ์ธํฐํ์ด์ค๊ฐ ๋ญ๋ฐ ๐ฅบ (0) | 2022.12.17 |
| ETC | ์์๊ณผ ์ธํฐํ์ด์ค (0) | 2022.12.13 |
| ํผ๊ณต์ | Chapter 8.1 ์ธํฐํ์ด์ค (0) | 2022.12.12 |