摘要:
軟件接口服務的主客雙方應遵循的準則
嘆號幡然反省:“以前我們做OOP編程時,總是專注于如何利用其他類來解決問題,而較少考慮自己設計的類對其他類的影響。”。。。
作為服務的提供者,最重要的是講誠信。首先,服務要有可靠性,不能陽奉陰違——即接口必須履行它的承諾;其次,服務要有穩定性,不能朝令夕改——即接口一經公開,不得隨意變更。。。
此外,高質量的服務還要有純粹性和完備性。Unix有一個哲學:‘一個程序只做一件事,但要做好’。用在OOP上,則是:‘一個類只提供一套服務,但要完善’。。。
關鍵不在于服務數量的多寡,而在于服務的一致性和關聯性。。。
作為服務的享受者,最重要的是講規矩。。。
以違背服務初衷的方式享受的服務,如同盛夏的豆腐——即使沒有變質,也是不能持久的。。。
閱讀全文
摘要:
OOP中的訪問控制
問號提問:“信息隱藏是否專指用private來控制訪問?”。。。
初級程序員的理想是為所欲為——能用編程解決一切問題;中級程序員的理想是盡善而為——追求最佳解決方案;高級程序員的理想是有所為有所不為——重在整體設計的選擇,能抵制局部技巧的誘惑;最高理想是無為而無不為——無論宏觀設計還是微觀實現,均非刻意選擇,卻自然合度。。。
從軟件應變的角度來看,訪問控制是對修改所帶來的副作用的控制。。。
客戶意識對一個程序員的重要性,絲毫不亞于對一個企業的重要性。。。
千萬不要為追求廉價的重用而輕易擴大接口范圍,莫以自身之便而致客戶之不便,莫以一時之便而致長期之不便。。。
閱讀全文