欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

php設(shè)計(jì)模式介紹之編程慣用法

 更新時(shí)間:2008年04月13日 22:07:20   作者:  
《PHP設(shè)計(jì)模式介紹》第一章 編程慣用法 學(xué)習(xí)一門新的語言意味著要采用新的慣用法。這章將介紹或者可能重新強(qiáng)調(diào)一些慣用法。你會(huì)發(fā)現(xiàn)這些慣用法在你要在代碼中實(shí)現(xiàn)設(shè)計(jì)模式時(shí)候是非常有用的。

其他實(shí)踐

下面還有集中其他的實(shí)踐習(xí)慣值得提及到的,也值得加入到你自己的編程習(xí)慣里面的。

UML

統(tǒng)一建模語言(UML)是一種與具體編程語言無關(guān)的用來描述面對(duì)對(duì)象編程觀念的方法。關(guān)于UML的相關(guān)信息資料你可以從http://www.uml.org上找到。

UML涉及到很多方面,但對(duì)PHP程序員來說,其中最相關(guān)的兩方面是類圖和序列圖。

類圖描述了一個(gè)或者更多的類以及他們?cè)谀愕某绦蛑g的相互關(guān)系。(譯者注:最好能夠參考相關(guān)的UML教材,將有助于你的理解。)每個(gè)類都用一個(gè)盒子標(biāo)識(shí),每個(gè)盒子都分成三部分:第一部分是類名,第二步分列舉了類的屬性(變量),最后一部分列舉了類的方法。屬性和方法的可見度被設(shè)計(jì)為:+代表public(公開),—代表private(私有),#代表protected(受保護(hù)的)。

序列圖描述了為一個(gè)特定的任務(wù)或者事件,你對(duì)代碼中的對(duì)象之間的典型的交互活動(dòng)。一個(gè)序列圖主要傳達(dá)這樣的信息:誰,以什么樣的順序,在什么時(shí)候,調(diào)用不同的方法(由名字也可以看出:“序列圖”)。序列圖是對(duì)象集和開發(fā)人員之間交互溝通的非常有用工具。

在我自己的工程里,我使用這兩種典型的類圖來勾畫我們的設(shè)計(jì),但是很少能將他們格式化到項(xiàng)目文檔里面。對(duì)象之間的關(guān)系經(jīng)常隨著你對(duì)系統(tǒng)理解的深化和用戶需求的變化而改變,因此這些圖表很快就會(huì)過時(shí)。這也就是說“一張圖足足值一千個(gè)文字”。這些圖表對(duì)新開發(fā)人員理解系統(tǒng)是非常由幫助的,也能做為使用你軟件的開發(fā)人員的手冊(cè)。

資源控制

“及時(shí)的、經(jīng)常性的保存”是開發(fā)人員另外一個(gè)有用的格言。即使你是這個(gè)項(xiàng)目的唯一的開發(fā)人員,你也應(yīng)該維持所有的資源處于控制下。

網(wǎng)上可以獲取到很多關(guān)于資源控制的解決方法,其中兩個(gè)出色:CVS(http://www.cvshome.org)和Subversion(http://subversion.tigris.org)。CVS是一個(gè)非常流行的用于解決PHP和Apache項(xiàng)目的工具。同時(shí),Subversion也正在迅速的成為流行的二選一工具之一,因?yàn)樗朔薈VS的一些不足之處(特別是在原語命令和刪除/重命名文件夾或文件方面)。然而很少有項(xiàng)目安裝Subversion服務(wù)器。

在工作的時(shí)候,我采用CVS,但這本書的代碼都是使用Subversion來維護(hù)的。

資源代碼文檔

如果你瀏覽完了這本書的所有頁面,你可以會(huì)注意到一些明顯的格式化的注釋塊類似于:

/**
* funny multi-line comments
* @something what is this?
*/

它們被稱為“docblocks”(譯者注:文檔塊),是由程序,比如說phpDocumentor(http://phpdocu.sf.net),為你的PHP項(xiàng)目自動(dòng)生成的應(yīng)用程序接口(API)文檔。

Docblocks(文檔塊)是特定格式的多行注釋,以/**標(biāo)識(shí)開始,接下來的每行都以*為第一個(gè)字符,并以*/標(biāo)識(shí)注釋終止。在每行的前綴前面允許有空格。

@something 代表一個(gè)“標(biāo)簽”(tag),當(dāng)文檔需要轉(zhuǎn)化為解析格式時(shí),標(biāo)簽用來闡明一些必要的信息。比如說標(biāo)簽@private,使用在php4中,常用來標(biāo)識(shí)類的這個(gè)方法或者屬性時(shí)私有的,因?yàn)樵趐hp4中時(shí)沒有提供這種天然的能力的(譯者注:在php4中時(shí)無法說明一個(gè)變量或者方法是否私有的)。

資源代碼文檔比如說docblocks即是一個(gè)有用的參考資料,也是開源項(xiàng)目的一個(gè)好廣告。其中一個(gè)例子(我?guī)兔S護(hù)的)就是SimpleTestAPI文檔(http://simpletest.org)。

相關(guān)文章

最新評(píng)論