• 沒有找到結果。

第二章 文獻探討

第三節 物件導向

物件導向式的設計方法不僅是引進一種新的程式語言或是一種新的

〈三〉軟體品質

(correctness)、 強固性(Robustness)、可擴充性(Extendibility)、可重用性 (Reusability)、相容性(Compatibility)、效率性(Efficiency)、可攜性(Portability)、

完整性(Integrity)、易用性(Ease of Use)等等特性。所以軟體品質的控制應是 存在軟體自己本身的內部,如同功能穩定的工具一般,無論是由專業或非 專業的人員都可以輕易的操作使用這些元件。

二、軟體開發框架〈Software Development Framework〉

儘管軟體程式設計師使用開發框架來撰寫程式碼已經有很多年的歷史了,但 是應用開發框架在 WEB 的開發方面是最近才興起的事,一切都還是在嘗試創新 的階段。為什麼要使用開發框架呢?難道傳統的 WEB 開發方式不好嗎?無論是 否將開發框架應用與 WEB 的開發相關與否,使用開發框架來開發程式其最大的 好處可以嘗試用「反向控制」〈inversion of control〉的觀點來解釋。現今大部分的 程式運作是以控制程式碼為其主要的思考邏輯,所以就必須撰寫一大堆相對應的 讓自己撰寫的程式碼擁有一系列物件〈Objects〉,而這些物件繼承延伸了開發框 架中已經被嚴謹測試過且功能完善的物件。此時,只需要將這些物件繼承下來就 好了,不用再自行開發撰寫功能操作函式的程式碼。一直到將開發框架中的物件 延伸擴展〈extend〉了以後,就可以自動擁有數以百計的功能屬性,豈不快哉。

在一個傳統的程式撰寫架構中,一但軟體的功能不符合需求而想要加以修改

的時候,尤其是較為深入底層的函式庫功能時,只能一頭栽進函式庫的原始程式

三、Cakephp

在為數眾多的開發架構中,本研究挑選了 Cakephp 作為撰寫程式的基礎,最 護 CakePHP 的團隊。CakePHP 是什麼? CakePHP 是以 PHP 為基礎、免費、開放原 始碼且標榜快速建構的架構。基本組成包含涵式庫、類別與執行時期所需的基本 元素,設計靈感來自 Ruby on Rails 架構〈另一個以 Ruby 為基礎,同樣標榜快速 建構的架構〉,目的是要讓程式設計師也能輕鬆建立 web 程式,其最終目標是要 讓您快速地在有組識且不失彈性下完成任務。CakePHP 使用 MVC

〈Model-View-Controller〉架構,MVC 是一種軟體設計模式,幫您將程式碼合理 的分離,使它更容易被重用與管理,當然看起來也會更好。使得程式碼看起來不 再像義大利麵般的混亂,將原本一個由 PHP 和 HTML 混合在一起的程式麵糰,

拆開成三個清晰的程式架構,各自負責自己專屬的功能。這樣的架構不論在撰寫 程式時的除錯工作或是後續緊接而來的的程式維護工作,都不用再去面對一團混 亂的程式碼,這是 MVC 架構所帶來最大的好處。

〈一〉Model 代表特定的資料表記錄

Model 包含有應用程式的資料,同時亦含有資料的屬性、資料檢驗的 規則等等,當資料新增或更新時自動套用。

〈二〉View 負責顯示使用者介面

資料如何呈現在使用者的眼前、如何與使用者互動的、如何接受使用 者的資料等動作,在 Cakephp 中由 view 檔案全權負責,檔案內可以 包含標準的 HTML 和 PHP 程式。

〈三〉Controller 則負責處理來自伺服器的需求

它會從使用者端取得使用者輸入的資料〈URL 或 POST 資料〉,套上 自己所設計的程式邏輯,經過計算之後,如需要做資料庫的存取時再 透過 Model 自資料庫中存取資料。最後再度使用合適的 View 將資料 輸出到使用者眼前,滿足使用者的需求,它扮演的是一個仲介的一角 色,也是整個程式邏輯的核心,一個程式設計者只需要將其重心擺在 這裡即可,無須需面對其他繁瑣的工作,因為這些都將由 Cakephp 代 為處理〈 http:/ /cakephp.org/ 〉。

相關文件