< ์ดํฐ๋ ์ดํฐ ํด๋์ค ๊ตฌ์กฐ๋ >
List<Post> posts = board.getPosts(); ...
Board ํด๋์ค ๋ด๋ถ์ iterator๋ฅผ ๋ฐํํ๋ ์ฝ๋๋ฅผ ๋ง๋ค์.
-> ํด๋ผ์ด์ธํธ ์
์ฅ์์ Board ๋ด๋ถ์ ์ฝ๋๊ฐ ์ด๋ป๊ฒ ๊ตฌํ๋์ด ์๋์ง ๋ชฐ๋ผ๋ ๋ฐ์ดํฐ๋ฅผ ์ํํ ์ ์๋ค!
"๋ง์ฝ Board ๊ฐ ๊ฐ์ง๊ณ ์๋ List<Post> ๋ฅผ ์์ฑ์์ผ๋ก ์ ๋ ฌํ์ฌ ์กฐํํ๊ณ ์ถ๋ค." ๋ผ๋ ์๊ตฌ์ฌํญ์ ๋ณ๊ฒฝ์์ฒญ์ด ์๋ค๋ฉด Board ์์ ๋ค๋ฅธ Iterator ๋ฅผ ๋ฐํํด์ฃผ์ด ๋ณ๊ฒฝ์ ์ต์ํ ์ํฌ ์ ์๋ค.
Board.Class
Client.class
-> Board ๋ ์ง๊ธ ConcreateAggregate ์ ์ญํ ์ ์ํํ๊ณ ์๋ค.
์ด๋ฌํ ํด๋ผ์ด์ธํธ์ ๋ณ๊ฒฝ๋ง์ ๋ ์ต์ํ ํ๊ณ ์ถ๋ค๋ฉด Aggreate ์ธํฐํ์ด์ค๋ฅผ ์ ์ํ๊ณ ํด๋ผ์ด์ธํธ๋ Aggregate์ธํฐํ์ด์ค๋ง์ ๋ฐ๋ผ๋ณธ๋ค๋ฉด ์กฐ๊ธ ๋ ๋ณ๊ฒฝ์ ์ต์ํ ํ๋ ๊ตฌ์กฐ๋ก ์ ์ง์ ์ผ๋ก ๊ฐ์ ํด ๋๊ฐ ์ ์๋ค.
์งํฉ์ฒด ํด๋์ค์ ์์ง๋๋ฅผ ๋์ฌ์ค๋ค.
-> ํด๋์ค ์์ง๋๋? : ํ๋ก๊ทธ๋จ์ ํ ์์๊ฐ ํด๋น ๊ธฐ๋ฅ์ ์ํํ๊ธฐ ์ํด ์ผ๋ง๋งํผ์ ์ฐ๊ด๋ ์ฑ
์๊ณผ ์์ด๋์ด๊ฐ ๋ญ์ณ์๋์ง๋ฅผ ๋ํ๋ด๋ ์ ๋.
-> ํด๋์ค ์์ง๋๊ฐ ๋์ ํด๋์ค์ ํน์ง์ ์๋๋ก
์งํฉ์ฒด ๋ด์์ ์ด๋ค ์์ผ๋ก ์ผ์ด ์ฒ๋ฆฌ๋๋์ง ์ ํ์ ์์ด, ์งํฉ์ฒด ์์ ๋ค์ด์๋ ๋ชจ๋ ํญ๋ชฉ์ ์ ๊ทผ ํ ์ ์๊ฒ ํด์ค๋ค.
๋ชจ๋ ํญ๋ชฉ์ ์ผ์ผ์ด ์ ๊ทผํ๋ ์์ ์ ์ปฌ๋ ์ ๊ฐ์ฒด๊ฐ ์๋ ์ดํฐ๋ ์ดํฐ ๊ฐ์ฒด์์ ๋งก๊ฒ ๋๋ค. ์ด๋ ๊ฒ ํ๋ฉด, ์งํฉ์ฒด์ ์ธํฐํ์ด์ค ๋ฐ ๊ตฌํ์ด ๊ฐ๋จํด์ง ๋ฟ๋ง ์๋๋ผ, ์งํฉ์ฒด์์๋ ๋ฐ๋ณต ์์ ์์ ์์ ๋ผ๊ณ ์๋ ์์ ์ด ํ ์ผ์๋ง ์ ๋ ํ ์ ์๋ค.
ํด๋ผ์ด์ธํธ๊ฐ ์ํํ๋ ๊ฐ์ฒด์ ๊ตฌํ๋ถ๋ฅผ ๋ชฐ๋ผ๋ ์ฌ์ฉํ ์ ์๊ธฐ ๋๋ฌธ์ ๋ณ๊ฒฝ์ ์ฉ์ดํด์ง๋ค.
์ฐธ๊ณ ์๋ฃ)
https://lazineer.tistory.com/93 - ๊ฒ์ผ๋ฅธ์์ง๋์ด
https://thalals.tistory.com/425 - ํ์ฐจ๊ฒ, ์ด์ฌํ ๊ณต๋์