VB2008´ÓÈëÃŵ½¾«Í¨(PDF¸ñʽӢÎÄ°æ)-µÚ4²¿·Ö
°´¼üÅÌÉÏ·½Ïò¼ü ¡û »ò ¡ú ¿É¿ìËÙÉÏÏ·ҳ£¬°´¼üÅÌÉ쵀 Enter ¼ü¿É»Øµ½±¾ÊéĿ¼ҳ£¬°´¼üÅÌÉÏ·½Ïò¼ü ¡ü ¿É»Øµ½±¾Ò³¶¥²¿£¡
¡ª¡ª¡ª¡ªÎ´ÔĶÁÍꣿ¼ÓÈëÊéÇ©ÒѱãÏ´μÌÐøÔĶÁ£¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡Implementing¡¡the¡¡TextProcessor¡¡Application¡¡¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡260¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡Piping¡¡Binary¡¡Data¡¡¡¡¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡268¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡Defining¡¡the¡¡Interfaces¡¡and¡¡Implementing¡¡the¡¡Shell¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡270¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡Defining¡¡the¡¡Type¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡272¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡Converting¡¡a¡¡Text¡¡Stream¡¡into¡¡a¡¡Binary¡¡Stream¡¡¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡274¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡Converting¡¡a¡¡Binary¡¡Stream¡¡into¡¡a¡¡Text¡¡Stream¡¡¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡275¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡Tweaking¡¡Serialization¡¡¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡277¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡Performing¡¡Custom¡¡Serialization¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡277¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡Declaring¡¡a¡¡Data¡¡Member¡¡As¡¡Nonserializable¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡278¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡Separating¡¡Data¡¡Objects¡¡from¡¡Action¡¡Objects¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡278¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡Page¡¡14¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡
xii¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡öCO¡¡N¡¡T¡¡E¡¡N¡¡T¡¡S¡¡¡¡¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡pleting¡¡Custom¡¡Types¡¡¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡279¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡Implementing¡¡GetHashCode£¨£©¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡279¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡Implementing¡¡Equals£¨£©¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡282¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡The¡¡Important¡¡Stuff¡¡to¡¡Remember¡¡¡¡¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡283¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡Some¡¡Things¡¡for¡¡You¡¡to¡¡Do¡¡¡¡¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡284¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡öCHAPTER¡¡11¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡Learning¡¡About¡¡¡¡Generics¡¡¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡285¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡Why¡¡Use¡¡¡¡Generics£¿¡¡¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡285¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡The¡¡Theory¡¡of¡¡a¡¡Server¡Side¡¡Spreadsheet¡¡¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡288¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡Architecting¡¡a¡¡Server¡Side¡¡Spreadsheet¡¡¡¡¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡291¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡Designing¡¡the¡¡Architecture¡¡¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡292¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡Defining¡¡the¡¡Server¡¡Spreadsheet¡¡Interfaces¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡292¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡Implementing¡¡the¡¡Server¡¡Spreadsheet¡¡¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡302¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡Using¡¡Lambda¡¡Expressions¡¡in¡¡the¡¡Spreadsheet¡¡¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡302¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡Assigning¡¡State¡¡Without¡¡Knowing¡¡the¡¡Type¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡304¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡Overriding¡¡the¡¡ToString£¨£©¡¡Functionality¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡307¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡Using¡¡the¡¡Spreadsheet¡¡¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡308¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡Calculating¡¡an¡¡Average¡¡¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡308¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡Understanding¡¡Why¡¡the¡¡Calculation¡¡Worked¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡310¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡The¡¡Important¡¡Stuff¡¡to¡¡Remember¡¡¡¡¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡311¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡Some¡¡Things¡¡for¡¡You¡¡to¡¡Do¡¡¡¡¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡312¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡öCHAPTER¡¡12¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡Learning¡¡About¡¡Application¡¡Configuration¡¡¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡and¡¡Dynamic¡¡Loading¡¡¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡313¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡Convention¡¡over¡¡Configuration¡¡¡¡¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡313¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡Decoupling¡¡Using¡¡a¡¡Configuration¡¡Architecture¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡315¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡Decoupling¡¡Using¡¡a¡¡Convention¡¡Architecture¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡315¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡Setting¡¡Up¡¡the¡¡Dynamic¡¡Loading¡¡Projects¡¡¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡316¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡Signing¡¡an¡¡Assembly¡¡¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡317¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡Setting¡¡the¡¡Output¡¡Path¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡318¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡Defining¡¡and¡¡Processing¡¡a¡¡Configuration¡¡File¡¡¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡319¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡Creating¡¡an¡¡XML¡Based¡¡Configuration¡¡File¡¡¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡319¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡Adding¡¡the¡¡Dynamic¡¡Loading¡¡Configuration¡¡Items¡¡¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡321¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡Reading¡¡a¡¡Configuration¡¡File¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡321¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡Dynamically¡¡Loading¡¡an¡¡Assembly¡¡¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡322¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡Dynamically¡¡Instantiating¡¡a¡¡Type¡¡¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡322¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡Enhancing¡¡the¡¡Configuration¡¡File¡¡¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡326¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡Loading¡¡a¡¡Strongly¡¡Named¡¡Assembly¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡331¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡Relocating¡¡a¡¡Strongly¡¡Named¡¡Assembly¡¡to¡¡the¡¡GAC¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡333¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡Using¡¡Version¡¡Numbers¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡333¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡Page¡¡15¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡öC¡¡ON¡¡TE¡¡N¡¡TS¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡xiii¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡Implementing¡¡a¡¡Shared¡¡Typed¡¡Convention¡Based¡¡Architecture¡¡¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡337¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡Dynamically¡¡Loading¡¡Base¡¡Class¡¡or¡¡Interface¡¡Types¡¡¡¡¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡339¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡The¡¡Important¡¡Stuff¡¡to¡¡Remember¡¡¡¡¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡339¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡Some¡¡Things¡¡for¡¡You¡¡to¡¡Do¡¡¡¡¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡340¡¡
¡öCHAPTER¡¡13¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡Learning¡¡About¡¡Multithreading¡¡¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡341¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡Understanding¡¡Multitasking¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡341¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡Preemptive¡¡Multitasking¡¡¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡342¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡Time¡¡Slicing¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡342¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡Using¡¡Threads¡¡¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡344¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡Creating¡¡a¡¡New¡¡Thread¡¡¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡345¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡Waiting¡¡for¡¡the¡¡Thread¡¡to¡¡End¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡346¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡Creating¡¡a¡¡Thread¡¡with¡¡State¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡347¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡Synchronizing¡¡Between¡¡Threads¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡349¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡How¡¡Not¡¡to¡¡Deadlock¡¡Your¡¡Code¡¡£¨Mostly£©¡¡¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡355¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡Implementing¡¡a¡¡Reader/Writer¡¡Threaded¡¡Architecture¡¡¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡359¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡Implementing¡¡a¡¡Producer/Consumer¡¡Architecture¡¡¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡363¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡Using¡¡a¡¡Hidden¡¡Producer/Consumer¡¡Implementation¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡363¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡Implementing¡¡a¡¡Generic¡¡Producer/Consumer¡¡Architecture¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡364¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡Using¡¡an¡¡Asynchronous¡¡Approach¡¡¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡367¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡The¡¡Important¡¡Stuff¡¡to¡¡Remember¡¡¡¡¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡368¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡Some¡¡Things¡¡for¡¡You¡¡to¡¡Do¡¡¡¡¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡369¡¡
¡öCHAPTER¡¡14¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡Learning¡¡About¡¡Relational¡¡Database¡¡Data¡¡¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡371¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡Understanding¡¡Relational¡¡Databases¡¡¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡371¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡Relational¡¡Database¡¡Tables¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡371¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡Database¡¡Relations¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡373¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡Accessing¡¡Relational¡¡Databases¡¡¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡375¡¡
¡¡¡¡¡¡¡¡