ã€€ã€€ä½ ä¸å¿…ä¸¥æ ¼éµå®ˆè¿™äº›åŽŸåˆ™ï¼Œ˜q背它们也ä¸ä¼?x¨¬)è¢«å¤„ä»¥å®—æ•™åˆ‘ç½šã€‚ä½†ä½ åº”å½“æŠŠ˜q™äº›åŽŸåˆ™çœ‹æˆè¦é“ƒåQŒè‹¥˜q背了其ä¸çš„一æ¡ï¼Œé‚£ä¹ˆè¦é“ƒ?y¨u)®×ƒ¼?x¨¬)å“è“vã€?/strong>
-----Arthur J.Riel
  (1)所有数æ®éƒ½åº”该éšè—在所在的¾cÈš„内部。p13
  (2)¾cÈš„使用者必™åÖM¾èµ–类的共有接å£ï¼Œä½†ç±»ä¸èƒ½ä¾èµ–它的使用者。p15
  (3)ž®½é‡å‡å°‘¾cÈš„åè®®ä¸çš„æ¶ˆæ¯ã€‚p16
  (4)实现所有类都ç†è§£çš„æœ€åŸºæœ¬å…¬æœ‰æŽ¥å£[例如åQŒæ‹·è´æ“ä½?深拷è´å’Œ‹¹…æ‹·è´?ã€ç›¸½{‰æ€§åˆ¤æ–ã€æ£¼‹®è¾“出内å®V€ä»ŽASCIIæè¿°è§£æž½{‰ç‰]ã€?p16
  (5)ä¸è¦æŠŠå®žçŽ°ç»†èŠ?例如攄¡½®å…Þq”¨ä»£ç çš„ç§æœ‰å‡½æ•?攑ֈ°¾cÈš„公有接å£ä¸ã€‚p17
  如果¾cÈš„两个æ–ÒŽ(gu¨©)³•有一ŒDµå…¬å…׃»£ç ,那么ž®±å¯ä»¥åˆ›å»ÞZ¸€ä¸ªé˜²æ¢è¿™äº›å…¬å…׃»£ç çš„¿U有函数ã€?
  (6)ä¸è¦ä»¥ç”¨æˆäh— 法ä‹Éç”¨æˆ–ä¸æ„Ÿå…´è¶£çš„东西扰ä¹Þq±»çš„公有接å£ã€‚p17
  (7)¾cÖM¹‹é—´åº”该零耦åˆåQŒæˆ–è€…åªæœ‰å¯¼å‡ø™€¦åˆå…³ç³»ã€‚也å»I¼Œä¸€ä¸ªç±»è¦ä¹ˆåŒå¦ä¸€ä¸ªç±»æ¯«æ— 关系åQŒè¦ä¹ˆåªä½¿ç”¨å¦ä¸€ä¸ªç±»çš„公有接å£ä¸çš„æ“ä½œã€?p18
  (8)¾cÕdº”该åªè¡¨ç¤ºä¸€ä¸ªå…³é”®æŠ½è±¡ã€‚p19
  包ä¸çš„æ‰€æœ‰ç±»å¯¹äºŽåŒä¸€¾cÀL€§è´¨çš„å˜åŒ–应该是共匞®é—的。一个å˜åŒ–若对一个包影å“åQŒåˆ™ž®†å¯¹åŒ…ä¸çš„æ‰€æœ‰ç±»äº§ç”Ÿå½±å“åQŒè€Œå¯¹å…¶ä»–的包ä¸é€ æˆä»ÖM½•å½±å“ .
  (9)把相关的数æ®å’Œè¡Œä¸ºé›†ä¸æ”¾¾|®ã€‚p19
  设计者应当留æ„那些通过get之类æ“作从别的对象ä¸èŽ·å–æ•°æ®çš„对象。这¿Uç±»åž‹çš„è¡ŒäØ“(f¨´)暗示瀘q™æ¡¾l验原则被è¿å了ã€?
  (10)把ä¸ç›¸å…³çš„ä¿¡æ¯æ”¾åœ¨å¦ä¸€ä¸ªç±»ä¸?也å³åQšäº’䏿²Ÿé€šçš„è¡ŒäØ“(f¨´))。p19
  æœç€½E›_®šçš„æ–¹å‘进行ä¾èµ?
  (11)¼‹®ä¿ä½ 䨓(f¨´)之徿¨¡çš„æŠ½è±¡æ¦‚念是类åQŒè€Œä¸åªæ˜¯å¯¹è±¡æ‰®æ¼”的角艌Ӏ‚p23
  (12)在水òqÏx–¹å‘上ž®½å¯èƒ½ç»Ÿä¸€åœ°åˆ†å¸ƒç³»¾lŸåŠŸèƒ½ï¼Œä¹Ÿå³åQšæŒ‰ç…§è®¾è®¡ï¼Œ™å¶å±‚¾cÕdº”当统一地共享工作。p30
  (13)åœ¨ä½ çš„ç³»¾lŸä¸ä¸è¦åˆ›å¾å…¨èƒ½¾c?对象。对åå—包å«Driverã€Managerã€Systemã€Susystem的类è¦ç‰¹åˆ«å¤šåŠ å°å¿ƒã€‚p30
  规划一个接å£è€Œä¸æ˜¯å®žçŽîC¸€ä¸ªæŽ¥å£ã€?
  (14)对公共接å£ä¸å®šä¹‰äº†å¤§é‡è®¿é—®æ–¹æ³•çš„¾cÕd¤šåŠ å°å¿ƒã€‚大é‡è®¿é—®æ–¹æ³•æ„味ç€ç›¸å…³æ•°æ®å’Œè¡Œä¸ºæ²¡æœ‰é›†ä¸å˜æ”¾ã€‚p30
  (15)对包å«å¤ªå¤šäº’䏿²Ÿé€šçš„è¡ŒäØ“(f¨´)çš„ç±»å¤šåŠ ž®å¿ƒã€‚p31
  ˜q™ä¸ªé—®é¢˜çš„å¦ä¸€è¡¨çŽ°æ˜¯åœ¨ä½ çš„åº”ç”¨½E‹åºä¸çš„¾cÈš„公有接å£ä¸åˆ›å»ÞZº†å¾ˆå¤šçš„getå’Œset函数ã€?
  (16)在由åŒç”¨æˆïL(f¨¥ng)•Œé¢äº¤äº’çš„é¢å‘对象模型构æˆçš„应用程åºä¸åQŒæ¨¡åž‹ä¸åº”该ä¾èµ–于界é¢ï¼Œç•Œé¢åˆ™åº”当ä¾èµ–于模型。p33
  (17)ž®½å¯èƒ½åœ°æŒ‰ç…§çŽ°å®žä¸–ç•Œå»ºæ¨¡(我们常常ä¸ÞZº†éµå®ˆ¾pÈ»ŸåŠŸèƒ½åˆ†å¸ƒåŽŸåˆ™ã€é¿å…全能类原则以åŠé›†ä¸æ”„¡½®ç›¸å…³æ•°æ®å’Œè¡Œä¸ºçš„原则而è¿èƒŒè¿™æ¡åŽŸåˆ? 。p36
  (18)ä»Žä½ çš„è®¾è®¡ä¸å޻除ä¸éœ€è¦çš„¾c…R€‚p38
  一般æ¥è¯ß_(d¨¢)¼Œæˆ‘们ä¼?x¨¬)把˜q™ä¸ª¾c»é™¾U§æˆä¸€ä¸ªå±žæ€§ã€?
  (19)去除¾pÈ»Ÿå¤–çš„¾c…R€‚p39
  ¾pÈ»Ÿå¤–çš„¾cÈš„特点是,抽象地看它们åªå¾€¾pÈ»Ÿé¢†åŸŸå‘逿¶ˆæ¯ä½†òq¶ä¸æŽ¥å—¾pÈ»Ÿé¢†åŸŸå†…å…¶ä»–ç±»å‘出的消æ¯ã€?
  (20)ä¸è¦æŠŠæ“ä½œå˜æˆç±»ã€‚质疑ä“Q何åå—æ˜¯åŠ¨è¯æˆ–者派生自动è¯çš„ç±»åQŒç‰¹åˆ«æ˜¯åªæœ‰ä¸€ä¸ªæœ‰æ„ä¹‰è¡ŒäØ“(f¨´)的类。考虑一下那个有æ„义的行为是å¦åº”当迿UÕdˆ°å·²ç»å˜åœ¨æˆ–者尚未å‘现的æŸä¸ª¾cÖM¸ã€‚p40
  (21)我们在创建应用程åºçš„åˆ†æžæ¨¡åž‹æ—¶å¸¸å¸¸å¼•入代ç†ç±»ã€‚在设计阶段åQŒæˆ‘们常ä¼?x¨¬)å‘çŽ°å¾ˆå¤šä»£ç†æ²¡æœ‰ç”¨çš„,应当去除。p43
  (22)ž®½é‡å‡å°‘¾cÈš„å作者的数é‡ã€‚p52
  一个类用到的其他类的数目应当尽é‡å°‘ã€?
  (23)ž®½é‡å‡å°‘¾cÕd’Œåä½œè€…ä¹‹é—´ä¼ é€’çš„æ¶ˆæ¯çš„æ•°é‡ã€‚p55
  (24)ž®½é‡å‡å°‘¾cÕd’Œå作者之间的å作é‡ï¼Œä¹Ÿå³åQšå‡ž®‘类和åä½œè€…ä¹‹é—´ä¼ é€’çš„ä¸åŒæ¶ˆæ¯çš„æ•°é‡ã€‚p55
  (25)ž®½é‡å‡å°‘¾cÈš„扇出åQŒä¹Ÿå»I¼š(x¨¬)å‡å°‘¾cÕd®šä¹‰çš„æ¶ˆæ¯æ•°å’Œå‘é€çš„æ¶ˆæ¯æ•°çš„乘积。p55
  (26)如果¾cÕdŒ…å«å¦ä¸€ä¸ªç±»çš„对象,那么包嫾cÕdº”当给被包å«çš„对象å‘逿¶ˆæ¯ã€‚也å»I¼š(x¨¬)包å«å…³ç³»æ€ÀL˜¯æ„味ç€ä½¿ç”¨å…³ç³»ã€‚p55
  (27)¾cÖM¸å®šä¹‰çš„大多数æ–ÒŽ(gu¨©)³•éƒ½åº”å½“åœ¨å¤§å¤šæ•°æ—¶é—´é‡Œä½¿ç”¨å¤§å¤šæ•°æ•°æ®æˆå‘˜ã€‚p57
  (28)¾cÕdŒ…å«çš„对象数目ä¸åº”当超˜q‡å¼€å‘è€…çŸæœŸè®°å¿†çš„定w‡ã€‚这个数目常常是6。p57
  当类包å«å¤šäºŽ6ä¸ªæ•°æ®æˆå‘˜æ—¶åQŒå¯ä»¥æŠŠé€»è¾‘ç›¸å…³çš„æ•°æ®æˆå‘˜åˆ’åˆ†äØ“(f¨´)一¾l„,然åŽç”¨ä¸€ä¸ªæ–°çš„包å«ç±»åŽÕdŒ…å«è¿™ä¸€¾l„æˆå‘˜ã€?
  (29)让系¾lŸåŠŸèƒ½åœ¨½H„而深的ç‘ô承体¾pÖM¸åž‚直分布。p58
  (30)在实现è¯ä¹‰çº¦æŸæ—¶åQŒæœ€å¥½æ ¹æ®ç±»å®šä¹‰æ¥å®žçŽ°ã€‚è¿™å¸¸å¸¸ä¼?x¨¬)导致类泛滥æˆç¾åQŒåœ¨˜q™ç§æƒ…况下,¾U¦æŸåº”当在类的行ä¸ÞZ¸å®žçްåQŒé€šå¸¸æ˜¯åœ¨æž„é€ å‡½æ•îC¸å®žçްåQŒä½†ä¸æ˜¯å¿…须如æ¤ã€‚p60
  (31)åœ¨ç±»çš„æž„é€ å‡½æ•îC¸å®žçްè¯ä¹‰¾U¦æŸæ—Óž¼ŒæŠŠçº¦æŸæµ‹è¯•æ”¾åœ¨æž„é€ å‡½æ•°é¢†åŸŸæ‰€å…è®¸çš„å°½é‡æ·±çš„包å«å±‚‹Æ¡ä¸ã€‚p60
  (32)¾U¦æŸæ‰€ä¾èµ–çš„è¯ä¹‰ä¿¡æ¯å¦‚æžœç»å¸¸æ”¹å˜ï¼Œé‚£ä¹ˆæœ€å¥½æ”¾åœ¨ä¸€ä¸ªé›†ä¸å¼çš„第3方对象ä¸ã€‚p60
  (33)¾U¦æŸæ‰€ä¾èµ–çš„è¯ä¹‰ä¿¡æ¯å¦‚果很ž®‘改å˜ï¼Œé‚£ä¹ˆæœ€å¥½åˆ†å¸ƒåœ¨¾U¦æŸæ‰€æ¶‰åŠçš„å„个类ä¸ã€‚p60
  (34)¾cÕd¿…™åÈŸ¥é“它包å«ä»€ä¹ˆï¼Œä½†æ˜¯ä¸èƒ½çŸ¥é“è°åŒ…å«å®ƒã€‚p61
  (35)å…׃ínå—é¢èŒƒå›´(也就是被åŒä¸€ä¸ªç±»æ‰€åŒ…å«)的对象相互之间ä¸åº”当有ä‹É用关¾p…R€‚p61
  (36)¾l§æ‰¿åªåº”被用æ¥äØ“(f¨´)特化层次¾l“构建模。p74
  (37)‹z„¡”Ÿ¾cÕd¿…™åÈŸ¥é“基¾c»ï¼ŒåŸºç±»ä¸åº”该知é“关于它们的‹z„¡”Ÿ¾cÈš„ä»ÖM½•ä¿¡æ¯ã€‚p74
  (38)基类ä¸çš„æ‰€æœ‰æ•°æ®éƒ½åº”å½“æ˜¯ç§æœ‰çš„åQŒä¸è¦ä‹Éç”¨ä¿æŠ¤æ•°æ®ã€‚p75
  ¾cÈš„设计者永˜qœéƒ½ä¸åº”该把¾cÈš„使用者ä¸éœ€è¦çš„东西攑֜¨å…¬æœ‰æŽ¥å£ä¸ã€?
  (39)在ç†è®ÞZ¸ŠåQŒç‘ô承层‹Æ¡ä½“¾pÕdº”当深一点,‘Šæ·±‘Šå¥½ã€‚p77
  (40)在实践ä¸åQŒç‘ô承层‹Æ¡ä½“¾pÈš„深度ä¸åº”当超å‡ÞZ¸€ä¸ªæ™®é€šähçš„çŸæœŸè®°å¿†èƒ½åŠ›ã€‚ä¸€ä¸ªå¹¿ä¸ºæŽ¥å—的深度值是6。p77
  (41)所有的抽象¾c»éƒ½åº”当是基¾c…R€‚p81
  (42)所有的基类都应当是抽象¾c…R€‚p82
  (43)把数æ®ã€è¡Œä¸ºå’Œ/或接å£çš„共性尽å¯èƒ½åœ°æ”¾åˆ°ç‘ô承层‹Æ¡ä½“¾pÈš„高端。p85
  (44)如果两个或更多个¾cÕd…±äº«å…¬å…±æ•°æ?但没有公å…Þp¡Œä¸?åQŒé‚£ä¹ˆåº”å½“æŠŠå…¬å…±æ•°æ®æ”‘Öœ¨ä¸€ä¸ªç±»ä¸ï¼Œæ¯ä¸ªå…׃ín˜q™ä¸ªæ•°æ®çš„类都包å«è¿™ä¸ªç±»ã€?p88
  (45)如果两个或更多个¾cÀLœ‰å…±åŒçš„æ•°æ®å’Œè¡ŒäØ“(f¨´)(ž®±æ˜¯æ–ÒŽ(gu¨©)³•)åQŒé‚£ä¹ˆè¿™äº›ç±»çš„æ¯ä¸€ä¸ªéƒ½åº”å½“ä»Žä¸€ä¸ªè¡¨½CÞZº†˜q™äº›æ•°æ®å’Œæ–¹æ³•的公共基类¾l§æ‰¿ã€?p89
  (46)如果两个或更多个¾cÕd…±äº«å…¬å…±æŽ¥å?指的是消æ¯ï¼Œè€Œä¸æ˜¯æ–¹æ³?åQŒé‚£ä¹ˆåªæœ‰ä»–们需è¦è¢«å¤šæ€åœ°ä½¿ç”¨æ—Óž¼Œä»–们æ‰åº”当从一个公共基¾cÈ‘ôæ‰Ñ€?p89
  (47)对对象类型的昄¡¤ºçš„分情况分æžä¸€èˆ¬æ˜¯é”™è¯¯çš„。在大多数这æ ïL(f¨¥ng)š„æƒ…况下,设计者应当ä‹É用多æ€ã€‚p89
  (48)对属性值的昄¡¤ºçš„分情况分æžå¸¸å¸¸æ˜¯é”™è¯¯çš„ã€‚ç±»åº”å½“è§£è€¦åˆæˆä¸€ä¸ªç‘ô承层‹Æ¡ç»“构,æ¯ä¸ªå±žæ€§å€¼éƒ½è¢«å˜æ¢æˆä¸€ä¸ªæ´¾ç”Ÿç±»ã€?p96
  (49)ä¸è¦é€šè¿‡¾l§æ‰¿å…³ç³»æ¥äØ“(f¨´)¾cÈš„动æ€è¯ä¹‰å¾æ¨¡ã€‚试囄¡”¨é™æ€è¯ä¹‰å…³¾pÀL¥ä¸ºåЍæ€è¯ä¹‰å¾æ¨¡ä¼š(x¨¬)坯D‡´åœ¨è¿è¡Œæ—¶åˆ‡æ¢¾cÕdž‹ã€‚p97
  (50)ä¸è¦æŠŠç±»çš„å¯¹è±¡å˜æˆæ´¾ç”Ÿç±»ã€‚对ä»ÖM½•åªæœ‰ä¸€ä¸ªå®žä¾‹çš„‹z„¡”Ÿ¾c»éƒ½è¦å¤šåŠ å°å¿ƒã€‚p99
  (51)å¦‚æžœä½ è§‰å¾—éœ€è¦åœ¨˜qè¡Œæ—¶åˆ»åˆ›å¾æ–°çš„¾c»ï¼Œé‚£ä¹ˆé€€åŽä¸€æ¥ä»¥è®¤æ¸…ä½ è¦åˆ›å¾çš„æ˜¯å¯¹è±¡ã€‚现在,把这些对象概括æˆä¸€ä¸ªç±»ã€?p103
  (52)在派生类ä¸ç”¨½Iºæ–¹æ³?也就是什么也ä¸åšçš„æ–¹æ³?æ¥è¦†å†™åŸº¾cÖM¸çš„æ–¹æ³•åº”å½“æ˜¯éžæ³•的。p103
  (53)ä¸è¦æŠŠå¯é€‰åŒ…å«åŒå¯¹ç‘ô承的需è¦ç›¸æ·äh·†ã€‚把å¯é€‰åŒ…å«å¾æ¨¡æˆ¾l§æ‰¿ä¼?x¨¬)å¸¦æ¥æ³›æ»¥æˆç„¡š„¾c…R€‚p108
  (54)在创建ç‘ô承层‹Æ¡æ—¶åQŒè¯•ç€åˆ›å¾å¯å¤ç”¨çš„æ¡†æž¶åQŒè€Œä¸æ˜¯å¯å¤ç”¨çš„组件。p112
  (55)å¦‚æžœä½ åœ¨è®¾è®¡ä¸ä‹É用了多釾l§æ‰¿åQŒå…ˆå‡è®¾ä½ çŠ¯äº†é”™è¯¯ã€‚å¦‚æžœæ²¡çŠ¯é”™è¯¯ï¼Œä½ éœ€è¦è®¾æ³•è¯æ˜Žã€‚p120
  (56)åªè¦åœ¨é¢å‘对象设计ä¸ç”¨åˆ°äº†ç‘ô承,问自å·×ƒ¸¤ä¸ªé—®é¢˜ï¼š(x¨¬)(1)‹z„¡”Ÿ¾cÀL˜¯å¦æ˜¯å®ƒç‘ô承的那个东西的一个特ŒDŠç±»åž‹ï¼Ÿ(2)åŸºç±»æ˜¯ä¸æ˜¯æ´¾ç”Ÿç±»çš„一部分åQŸp121
  (57)å¦‚æžœä½ åœ¨ä¸€ä¸ªé¢å‘对象设计ä¸å‘现了多é‡ç‘ô承关¾p»ï¼Œ¼‹®ä¿æ²¡æœ‰å“ªä¸ªåŸºç±»å®žé™…上是å¦ä¸€ä¸ªåŸº¾cÈš„‹z„¡”Ÿ¾c…R€‚p122
  (58)在é¢å‘对象设计ä¸å¦‚æžœä½ éœ€è¦åœ¨åŒ…å«å…³ç³»å’Œå…³è”å…³¾p»é—´ä½œå‡ºé€‰æ‹©åQŒè¯·é€‰æ‹©åŒ…å«å…³ç³»ã€‚p135
  (59)ä¸è¦æŠŠå…¨å±€æ•°æ®æˆ–全局函数用于¾cÈš„对象的薄记工作。应当ä‹É用类å˜é‡æˆ–ç±»æ–ÒŽ(gu¨©)³•。p140
  (60)é¢å‘对象设计者ä¸åº”当让物ç†è®¾è®¡å‡†åˆ™æ¥ç ´å他们的逻辑设计。但是,在对逻辑设计作出决ç–的过½E‹ä¸æˆ‘们¾l常用到物ç†è®¾è®¡å‡†åˆ™ã€?p149
  (61)ä¸è¦¾l•开公共接å£åŽÖM¿®æ”¹å¯¹è±¡çš„状æ€ã€‚p164