第七課 建立基本開發模式

日期:2008-09-24  作者:喜騰小二  來源:喜騰網  培訓中心

  開發軟件必須擁有一定開發模式,目前軟件開發流行采用OOP模式(Object Oriented Programming,麵嚮對象的程序設計)。麵嚮對象編程(Object Oriented Programming,OOP,麵嚮對象程序設計)是一種計算機編程架構。OOP 的一條基本原則是計算機程序是由單個能夠起到子程序作用的單元或對象組合而成。OOP 達到了軟件工程的三個主要目標:重用性、靈活性和擴展性。

開發實例我們將采用 SNS (Social Networking Services,社會性網絡服務)MINI版本作為演示,為了讓大家快速適應PHP開發方法,其中40%以上代碼采用oop模式。

  SNS:Social Network Software,社會性網絡服務軟件,依據六度理論,以認識朋友的朋友為基礎,擴展自己的人脈。並且無限擴張自己的人脈,在需要的時候,可以隨時獲取一點,得到該人脈的幫助。

  SNS是一個采用分佈式技術,通俗地說是采用P2P技術,構建的下一代基於個人的網絡基礎軟件。SNS通過分佈式軟件編程,將現在分散在每個人的設備上的CPU、硬盤、帶寬進行統籌安排,並賦予這些相對服務器來說很渺小的設備更強大的能力。這些能力包括:計算速度,通信速度,存儲空間。

  社會性網絡(社會網絡,Social Networking:SN):是指個人之間的關繫網絡,這種基於社會網絡關繫繫統思想的網站就是社會性網絡網站(SNS網站)。現在許多WEB2.0網站都屬於SNS網站,如網絡聊天(IM)、交友、視頻分享、博客、播客、網絡社區、音樂共享等。社會性網絡的理論基礎源於六度理論(六度分隔理論,Six Degrees of Separation)和150法則(Rule Of 150)。另外不僅現在一些大公司網站開始了一些SNS應用,一些垂直領域的行業站點也開始了SNS的嘗試,並且效果不錯。

  SNS的技術起源:在互聯網中,PC機、智能手機都沒有強大的計算及帶寬資源,它們依賴網站服務器,才能浏覽發佈信息。如果將每個設備的計算及帶寬資源進行重新分配與共享,這些設備就有可能俱備比那些服務器更為強大的能力。這就是分佈計算理論誕生的根源,是SNS技術誕生的理論基礎。

開發前我們需要讓PHPER知道什麼是MVC?
MVC是一個設計模式,它強制性的使應用程序的輸入、處理和輸出分開。使用MVC應用程序被分成三個核心部件:模型、視圖、控制器。它們各自處理自己的任務。

大部分Web應用程序都是用像ASP,PHP,或者CFML這樣的過程化語言來創建的。它們將像數據庫查詢語句這樣的數據層代碼和像HTML這樣的表示層代碼混在一起。經驗比較豐富的開發者會將數據從表示層分離開來,但這通常不是很容易做到的,它需要精心的計劃和不斷的嘗試。MVC從根本上強制性的將它們分開。盡管構造MVC應用程序需要一些額外的工作,但是它給我們帶來的好處是無庸質疑的。

  首先,最重要的一點是多個視圖能共享一個模型,現在需要用越來越多的方式來訪問妳的應用程序。對此,其中一個解決之道是使用MVC,無論妳的用戶想要Flash界麵或是 WAP 界麵;用一個模型就能處理它們。由於妳已經將數據和業務規則從表示層分開,所以妳可以最大化的重用妳的代碼了。

  由於模型返回的數據沒有進行格式化,所以同樣的構件能被不同界麵使用。例如,很多數據可能用HTML來表示,但是它們也有可能要用Macromedia Flash和WAP來表示。模型也有狀態管理和數據持久性處理的功能,例如,基於會話的購物車和電子商務過程也能被Flash網站或者無線聯網的應用程序所重用。

  因為模型是自包含的,並且與控制器和視圖相分離,所以很容易改變妳的應用程序的數據層和業務規則。如果妳想把妳的數據庫從MySQL移植到Oracle,或者改變妳的基於RDBMS數據源到LDAP,隻需改變妳的模型即可。一旦妳正確的實現了模型,不管妳的數據來自數據庫或是LDAP服務器,視圖將會正確的顯示它們。由於運用MVC的應用程序的三個部件是相互獨立,改變其中一個不會影響其它兩個,所以依據這種設計思想妳能構造良好的鬆偶合的構件。

  對我來說,控制器的也提供了一個好處,就是可以使用控制器來聯接不同的模型和視圖去完成用戶的需求,這樣控制器可以為構造應用程序提供強有力的手段。給定一些可重用的模型和視圖,控制器可以根據用戶的需求選擇模型進行處理,然後選擇視圖將處理結果顯示給用戶。


MVC流程圖:



對於陌生的phper來說似乎一頭霧水,不知道如何理解這個圖,現在我們簡單講解下。

web程序開發的時候很多時候也要對開發目錄進行設計,如果設計的合理後期將會大大節省維護時間、開發與升級都將受益。


我們本次開發采用單入口,就是通過一個控制器來操作整個網站。

架構圖:


架構介紹先到這裡,下課我們將實例開發。

技術考試

上一篇

下一篇

喜騰培訓

站內新聞

我要啦免费统计