完整书籍
http://www.blogjava.net/Files/Wingel/第4章 保持代码简洁.rar第4章 保持代码简洁第4章  保持代码简洁     
示例
    这是一个会议管理系统。它用来管理所有参会者的信息。刚开始的时候,我们只需要记录每个参会者的ID(这是会议组织者分配的),姓名,电话和地址就行。于是,我们写了如下的代码:    
    class Participant {                                                                            
       String id;                                                                                  
       String name;                                                                                
       String telNo;                                                                               
       String address;                                                                             
    }        
    class ConferenceSystem {                                                                       
       Participant participants[];                                                                 
    }                                                                                              
    接着,新的需求来了:现在每个参会者都可以让组织者帮忙预订酒店,所以我们要记录下他想预订的酒店名,入住日期,离开日期,房间类型(单人房或者双人房)。于是我们又扩充成如下的代码:    
    class Participant {                                                                            
       String id;                                                                                  
       String name;                                                                                
       String telNo;                                                                               
       String address;                                                                             
       boolean bookHotelForHim;                                                                    
       String hotelName;                                                                           
       Date checkInDate;                                                                           
       Date checkOutDate;                                                                          
       boolean isSingleRoom;                                                                       
       void setHotelBooking(String hotelName, Date checkInDate, ...) {                             
           ...                                                                                     
       }                                                                                           
    }                                                                                              
    接着,又有一个新的需求来了:参会者可以参加不同的研讨会,所以我们要记录下参会者参加的研讨会。对于他要参加的每一场研讨会,我们还要记录下他的登记时间,同时他还需要什么翻译设备。于是代码又扩充成:
具体的内容在上面的下载链接里面的pdf文件里。完整书籍
http://www.blogjava.net/Files/Wingel/%E7%AC%AC4%E7%AB%A0%E4%BF%9D%E6%8C%81%E4%BB%A3%E7%A0%81%E7%AE%80%E6%B4%81.rar