日韩天天综合网_野战两个奶头被亲到高潮_亚洲日韩欧美精品综合_av女人天堂污污污_视频一区**字幕无弹窗_国产亚洲欧美小视频_国内性爱精品在线免费视频_国产一级电影在线播放_日韩欧美内地福利_亚洲一二三不卡片区

《PHP設計模式介紹》導言_PHP教程

編輯Tag賺U幣
教程Tag:暫無Tag,歡迎添加,賺取U幣!

推薦:php escapeshellcmd多字節(jié)編碼漏洞
漏洞公告在http://www.sektioneins.de/advisories/SE-2008-03.txt PHP 5 = 5.2.5 PHP 4 = 4.4.8 一些允許如GBK,EUC-KR, SJIS等寬字節(jié)字符集的系統(tǒng)都可能受此影響,影響還是非常

當你在不斷的試圖從你的應用程序中發(fā)現(xiàn)新的特征時,你是否發(fā)現(xiàn)你提出的解決方法和一些以前你已經(jīng)實現(xiàn)的東西是如此的類似呢?如果你是一個程序員(即使你才 開始很短的時間),你都可能回答“是”。這看起來就是你使用了一些以前的代碼來解決軟件開發(fā)過程中新發(fā)現(xiàn)的問題了。你可能已經(jīng)認識到:你的解決方法是基本 原理,是一個不僅僅是你而且是所有專業(yè)開發(fā)者都能廣泛重復應用的方法。

事實上,許多程序問題都不斷的反復的遇到,而且許多用來解決這些問題的基本方法(或者說是設計模式)都已經(jīng)浮現(xiàn)出來。設計模式就是一個教你如何利用真實可靠的設計來組織你的代碼的模板。

設計模式歷史

“設計模式”這個術語最初被設計用于建筑學領域。Christopher Alexander 在他1977的著作“A Pattern Language :Towns/Building/Construction”里面描述了一些常見的建筑學設計問題,并解釋了如何用這些已有的,著名的模式集合來開始全新 的有效的設計。Alexander的觀點被很好的轉化到軟件開發(fā)上來,并且長期的合意的用原有的組件來構造新的解決方案。

所有的設計模式都有一些常用的特性:一個標識(a name),一個問題陳述(a problem statement)和一個解決方案(a solution)。

  1. 一個設計模式的標識是重要的,因為它會讓其他的程序員不用進行太深入的學習就能立刻理解你的代碼的目的(至少通過這個標識程序員會很熟悉這個模式)。
  2. 問題描述是用來說明這個模式的應用的領域。?
  3. 解決方案描述了這個模型的執(zhí)行。一個好的設計模式的論述應該覆蓋使用這個模型的優(yōu)點和缺點。

一個模式是解決特定問題的有效方法。一個設計模式不是一個庫(能在你的項目中直接包含和使用的代碼庫)而是一個用來組織你的代碼的模板。事實上,一個代碼庫和一個設計模式在應用上是有很多不同的。

比如,你從店鋪里面買的一件襯衫是一個代碼庫,它的顏色,樣式和大小都由設計師和廠商決定,但它滿足了你的需求。

然而,如果店里面沒有什么衣服適合你,那你就能自己創(chuàng)建自己的襯衫(設計它的形狀,選擇布料,然后裁縫在一起)。但是如果你不是一個裁縫,你可能會發(fā)現(xiàn)自 己很容易的去找一個合適的模式然后按著這個模式去設計自己的襯衫。使用一個模型,你可以在更少的時間內得到一個熟練設計的襯衫。

回到討論軟件上來,一個數(shù)據(jù)提取層或者一個CMS(content management system)就是一個庫——它是先前設計好而且已經(jīng)編碼好了的,如果它能準確的滿足你的需要那它就是一個好的選擇。但如果你正在讀這本書,可能你會發(fā)現(xiàn) 庫存的(原有的)解決方案并不是總是對你有效。至今你知道什么是你所要的,而且你能夠實現(xiàn)它,你僅僅需要一個模型來引導你。

最后一個想法:就象一個裁縫模型,一個設計本身而言是沒有什么用處的。畢竟,你不可能穿一個服裝模型——它僅僅是由很薄的紙拼湊起來的。類似的,一個軟件設計模型也僅僅只是一個引導。它必須根據(jù)程序設計語言和你的應用程序的特點和要求而特別的設計。

本書的目標

本書的目的不是為了全面的介紹各種類別的軟件設計模式,也不是為了發(fā)展一個新的設計模式或者術語,而是為了突出介紹一些已有的著名的設計模式。這本書的 獨特之處在于介紹了一些我認為對開發(fā)動態(tài)WEB應用程序很有幫助的設計模式,而且用PHP語言顯示了如何實現(xiàn)這些設計模式。

面對對象編程OOP

這本書一個優(yōu)點就是所有的觀點都是基于OOP這種很自然的設計模式,并且用OOP來實現(xiàn)。

如果你不熟悉OOP,有很多相關的資源(書籍,網(wǎng)站,雜志,上課等等)來幫助你更好的了解它。大多數(shù)OOP資料都贊美它的好處——代碼重用,代碼健壯,代 碼封裝,多態(tài)和可擴展性,當然所有的這些也是非常重要和有用的。然而,我認為OOP最主要的優(yōu)點是它如何激勵你親手將問題分解成易處理的模塊。清晰的設計 和實現(xiàn),分解成小的模塊,這樣你的代碼能夠得到更加徹底的測試而且也更加容易理解和維護。

讀者技能要求

這本書假定你已經(jīng)能夠流暢的使用PHP了。特別地,這本書假設你已經(jīng)了解了PHP和PHP語法的運作知識而且懂得用OOP執(zhí)行PHP代碼的基本原理。這本書不是一本PHP編程的介紹書,也不是為了介紹PHP的OOP編程的。

由于不是所有的OOP開發(fā)者都使用相同的術語,當有新的術語被引入時,我都將在正文中或者工具條中定義。

分享:詳細講解PHP中緩存技術的應用
PHP,一門最近幾年興起的web設計腳本語言,由于它的強大和可伸縮性,近幾年來得到長足的發(fā)展,php相比傳統(tǒng)的asp網(wǎng)站,在速度上有絕對的優(yōu)勢,想mssql轉6萬條數(shù)據(jù)php如需要40秒,asp不下2分鐘.但是,由于

共2頁上一頁12下一頁
來源:模板無憂//所屬分類:PHP教程/更新時間:2008-08-22
相關PHP教程