
๋ฉ์์ง
๋ฉ์์ง ์์ ์๊ฐ ๋ฉ์์ง๋ฅผ ๋ฐ์ผ๋ฉด, ๋ฐ์ ์์ ์ํ๋ ๋ฐ๋์ง ์์ง๋ง ์์ ์์ ์ํ๋ ๋ฐ๋ ์ ์๋ค.
๋ฉ์์ง๋ฅผ ์ฌ์ฉํ๋ ํ๋ก์์ ๋ ๋น์ฅ ์ค์ํ์ง ์์ ์ธ๋ถ ๊ตฌํ์ด ์กด์ฌํ๋ค ๋ผ๋ ์๋ฏธ๋ฅผ ๋ดํฌํ ์ ์๋ค. (์บก์ํ)
function() {
input();
process();
output();
}
์ ํ ๋ฉ์์ง
์ ํ ๋ฉ์์ง๋ฅผ ์ฌ์ฉํ๋ฉด ๋ช ์์ ์กฐ๊ฑด๋ฌธ์ ์ฌ์ฉ์ ํฌ๊ฒ ์ค์ผ ์ ์๋ค.
ํ์ง๋ง ๊ณผ๋ํ ์ ํ๋ฉ์์ง์ ์ฌ์ฉ์ ๊ฐ๋ ์ฑ์ ์ ํดํ ์ ์๋ค.
public void display(Subject subject, Brush brush) {
brush.display(subject);
}
๋๋ธ ๋์คํจ์น
2๊ฐ์ ์ ํ ๋ฉ์์ง๋ฅผ ์ง๋ ฌ๋ก ์ฐ๊ฒฐํ ์ ์๋ค.
https://www.youtube.com/watch?v=s-tXAHub6vg&loop=0
๋ถ๋ฆฌ ๋ฉ์์ง
์ฌ๋ฌ ๋จ๊ณ๋ก ๊ตฌ์ฑ๋๋ ๋ณต์กํ ์๊ณ ์ฆ์ ๋จ๊ณ๋ณ๋ก ๋ชจ์ผ๋ก ๋ฉ์์ง๋ฅผ ๋ณด๋ผ ์ ์๋ค.
๋๋๋ฆผ ๋ฉ์์ง
๋์ฐ๋ฏธ ๋ฉ์๋๋ฅผ ์ฌ์ฉํ๋ฉด ๋ฉ์๋์ ๊ฐ๋ ์ฑ์ ๋์ผ ์ ์๋ค.
void process() {
helper.process(this);
}
void compute() {
input();
process(helper);
output();
}
์ด์ฒญ ๋ฉ์์ง
๋ก์ง์ ๋ํ ๊ธฐ๋ณธ ๊ตฌํ๋์ด์์ง ์๋ค๋ฉด ์ถ์ ๋ฉ์๋๋ก ์ ์ธํด์ ์ถ์ ๋ฉ์์ง์์ ๋ถ๋ช ํํ๋ผ
์ค๋ช ๋ฉ์์ง
highlight ๋ฉ์๋์ ๊ฐ์ด ํ๋ก๊ทธ๋๋จธ์ ์๋๋ฅผ ์ ๋ฌํ๊ธฐ ์ํ ๋ฉ์๋๊ฐ ์์ ์ ์๋ค.
highlight() {
reverse();
}
๋ ์ฃผ์์ ๋ถ์ด๊ณ ์ถ์ ์ฝ๋๋ ๋ค์๊ณผ ๊ฐ์ด ๋ณ๊ฒฝ ๊ฐ๋ฅํ๋ค,.
flags |= LOADED_BIT; // ๋ก๋ ๋นํธ๋ฅผ ์ค์
setLoadedFlag() {
flags |= LOADED_BIT;
};
์ด๋ฌํ ํ์ค์ง๋ฆฌ ๋ฉ์๋๋ ์ปค๋ฎค๋์ผ์ด์ ์ ๋๋๋ค.
์์ธ ํ๋ฆ
์์ธ ํ๋ฆ์ ์ํ ๋น๋๊ฐ ๋ฎ๊ณ ์์ ๋น๋๊ฐ ๋ฎ์ผ๋ฉฐ, ์ฃผ์ ํ๋ฆ์ ๋นํด ์ปค๋ฎค๋์ผ์ด์ ์ ์ค์์ฑ์ด ๋จ์ด์ง๋ค.
์ฃผ๋ฃ ํ๋ฆ์ ๋ช ๋ฃํ๊ฒ ๋ํ๋ด๊ณ ์์ธ ํ๋ฆ์ ์ฃผ์ ํ๋ฆ์ ๋ช ๋ฃ์ฑ์ ํผ์ํ์ง ์๋ ๋ฒ์ ๋ด์์ ๋ช ๋ฃํ๊ฒ ๋ํ๋ด๋ผ !
๋ณดํธ์
๋ณดํธ์ ์ ์ฌ์ฉํด์ ๋ณต์กํ ์ ์ด ๊ตฌ์กฐ๋ฅผ ์ฌ์ฉํ์ง ์๊ณ ๊ฐ์ ์ฝ๋๋ฅผ ํํํ ์ ์๋ค.
void conpute() {
Server server = getServer();
if (server != null) {
Client client = server.getClient();
if(client != null) {
....
}
}
}
void conpute() {
Server server = getServer();
if (server != null)
return;
Client client = server.getClient();
if(client != null)
return;
...
}
์์ธ
๋ฉ์๋๊ฐ ์์ธ๋ฅผ ๋์ง๋ฉด ๋ฉ์๋์ ์ค๊ณ์ ๊ตฌํ์ ์ํฅ์ ๋ฏธ์น๋ค.
๋ฐ๋ผ์ ๊ฐ๋ฅํ๋ฉด ์์ฐจ์ ๊ตฌ๋ฌธ , ๋ฉ์์ง , ๋ฃจํ ์ ์ด๋ฌธ์ ์ฌ์ฉํด์ ์ ์ด ํ๋ฆ์ด ์๋ ๊ฒฝ์ฐ ์์ธ๋ฅผ ์ฌ์ฉํ๋ ๊ฒ์ด ์ข๋ค
์์ธ ์ ๋ฌ
ํ์ ์์ค์ ์์ธ๋ ๋ฌธ์ ๋ฅผ ์ง๋จํ๋ ๋ฐ ์ ์ฉํ ์ ๋ณด๋ฅผ ์ ๊ณตํด์ฃผ๋ ๊ฒฝ์ฐ๊ฐ ๋ง๋ค.
ํ์ ์์ค์ ์์ธ๋ฅผ ์์ ์์ค ์์ธ๋ก ํฌ์ฅํ๋ผ
'๊ฐ๋ฐ ์์ > ์ผํธ๋ฐฑ ๊ตฌํ ํจํด' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[์ผํธ๋ฐฑ ๊ตฌํ ํจํด] ์คํฐ๋ ํ๊ณ (0) | 2023.12.06 |
---|---|
์ผํธ๋ฐฑ ๊ตฌํ ํจํด 9์ฅ - ์ปฌ๋ ์ (1) | 2023.10.09 |
์ผํธ๋ฐฑ์ ๊ตฌํํจํด 6์ฅ - ์ํ (1) | 2023.10.02 |
์ผํธ๋ฐฑ์ ๊ตฌํ ํจํด 5์ฅ - ํด๋์ค(2) (0) | 2023.09.08 |
์ผํธ๋ฐฑ์ ๊ตฌํ ํจํด 5์ฅ - ํด๋์ค(1) (0) | 2023.09.08 |