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&);μ΄λ‘μ¨ μ’λ μ μ§μ μ΄λ¦μ΄ λμλ€.