1、通過委托與數據源協議進行對象間通信
委托模式為對象提供了一套接口,使其可由此將相關事件告知其他對象。
將委托對象應該支持的接口定義成協議,把協議中可能要處理的時間定義成方法。
當某一對象要從另一個對象獲取數據時,可以使用委托代理模式。這種情況下,該模式也成為“數據源協議”。
若有必要,可實現含有“位段“的結構體,將委托對象是否能響應相關協議方法這一信息緩存至其中。
2、把類的實現代碼分散于便于管理的數個分類中
使用分類機制把類的實現代碼劃分成易于管理的小塊
將應該視為私有的方法歸入到名為Private的分類中,以隱藏細節
3、總是為第三方類的分類名稱加前綴
向第三方類中添加分類時,總應該給其名稱加上你專用的前綴
向第三方類中添加分類時,總應該給其中的方法名加上你專用的前綴
4、不要再分類中聲明屬性
分類的目標在于擴展類的功能,而非數據封裝。把數據封裝所用的全部屬性定義在主接口。
在“class—continuation分類”之外的其他分類中可以定義存取方法,但不要定義屬性。
5、使用“class-continuation分類”隱藏實現細節
通過“class-continuation分類”向類中新增實例變量。
如果某屬性在主接口聲明為只讀,而類的內部又要設置該屬性,那么在“class-continuation分類“聲明為可讀寫。
把私有方法的原型聲明在“class-continuation分類“里面
如果使用不為人知的協議,則可于“class-continuation分類“中聲明。