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