Intention Revealing Selector ¶
๋จผ์ ๋ฒ ์ฑํฐ๋ ๋น์ทํ ์ด์ผ๊ธฐ๋ค. how๊ฐ ์๋ what์ ์ค์ฌ์ผ๋ก ๋ฉ์๋์ ์ด๋ฆ์ ์ ์๋ ๊ฒ์ด๋ค.
๋ฉ์๋ ์ด๋ฆ์ ์ง๋ ๋ฐฉ๋ฒ์ ๋๊ฐ์ง ์ ํ์ด ์๋ค. ์ฒซ์งธ๋ ๊ทธ ๋ฉ์๋๊ฐ ์ด๋ป๊ฒ ์ผ์ ์ํํ๋์ง์ ๋ํด ์ง๋๊ฒ์ด๊ณ , ๋์งธ๋ ๊ทธ ๋ฉ์๋๊ฐ ๋ฌด์์ ํ๋๋์ ๋ํด ์ง๋๊ฒ์ด๋ค. ์ง๊ธ ๋น์ฅ how๋ก ์ง์ด์ง ์ฝ๋๊ฐ ์๋ค๋ฉด what์ ํํ๋ก ๋ฐ๊ฟ๋ผ. ํฐ ์ด๋์ด ๋ ๊ฒ์ด๋ค.(์ฝ๋ ์ ์ฝ๊ธฐ, ๋ณด๋ค ์ ์ฐ)
์ ์ข์ ์์
~cpp Array::linearSearchFor(Item&); Set::hashedSearchFor(Item&); BTree::treeSearchFor(Item&);์ปฌ๋ ์ ์ ์ฌ์ฉํ๋ ์ ์ ์ ์ ์ฅ์์ ๊ฐ ์ปฌ๋ ์ ์ด ์์น๋ฅผ ์ด๋ป๊ฒ ํ๋์ง๋ ์ ๋ฐ ์๋๋ค. ์๊ณ ์ถ์ง๋ ์์ ๊ฒ์ด๋ค. ๋ฐ๊ฟ๋ณด์.
~cpp Collection::searchFor(Item&);๊ทธ๋ฅ ์ฐพ์๋ผ~ํ๋ ๋ช ๋ น๋ง ๋ด๋ฆฌ๋ฉด ๋๋ค. ๊ทธ๋ฐ๋ฐ ์์ง๋ how์ ๋์๊ฐ ์ข ๋๋๊ฑฐ ๊ฐ๋ค. ๊ฒฐ๊ตญ search๋ฅผ ํ๋ ๊ฒ์ ๊ทธ ์ปฌ๋ ์ ์์ ์ฐ๋ฆฌ๊ฐ ์ฐพ๋๊ฒ ๋ค์๋ ํ๋๊ฒ์ด๋ค.
~cpp Collection::includes(Item&);์ด๋ก์จ ์ข๋ ์ ์ง์ ์ด๋ฆ์ด ๋์๋ค.