value object模式:
高效的物件應該像整型那樣運作:如果你把同乙個物件資源賦值給兩個不同的變數,然後改變其中的乙個變數,另乙個變數仍然不受影響。事實
上,這就是value object模式的目標所在。
【物件和物件指標】
工廠模式:
在物件導向程式設計中, 最通常的方法是乙個new操作符產生乙個物件例項,new操作符就是用來構造物件例項的。但是在一些情況下, new操作符直接生成對
象會帶來一些問題。舉例來說, 許多態別物件的創造需要一系列的步驟: 你可能需要計算或取得物件的初始設定; 選擇生成哪個子物件例項; 或在生成你
需要的物件之前必須先生成一些輔助功能的物件。 在這些情況, 新物件的建立就是乙個 「過程」,不僅是乙個操作,像一部大機器中的乙個齒輪傳動。
【物件構造的封裝】
單件模式:
幾乎所有物件導向的程式中,總有一兩個資源被建立出來,在程式應用中持續被共享使用。例如,這樣的乙個資源,在乙個電子商務程式的資料庫連線
中使用:這個連線在應用程式啟動時初始化,程式於是可以有效的執行;當程式結束時,這個連線最終被斷開並銷毀。如果是你寫的**,沒必要在每
時每刻建立乙個資料庫連線,這樣非常低效。已經建立好的連線應該能被你的**簡單重複的使用。
【類的唯一例項】
註冊模式:
我們通常認為避免使用全域性變數是一種好的選擇,因此,物件經常被作為引數從一段**傳遞到另一段。但是傳遞例項的乙個問題就是物件有時候不知道
將要傳遞給誰——?經過乙個函式後才被傳遞到真正需要這個物件的函式。為了編寫,閱讀,修改**的方便,最好能夠減少不同物件的數量,並且能夠
將大量廣泛使用的物件統一表示為乙個單一,常用的物件。
【全域性物件索引表】
偽物件模式:
物件導向的程式設計之所以豐富多彩,部分是由於物件間的相互聯絡與作用。乙個單一的物件就能封裝乙個複雜的子系統,使那些很複雜的操作能夠通過一
些方法的呼叫而簡化。(無所不在的資料庫連線就是這樣的乙個物件例項。)然而經常有這樣的情況,物件間的互動性是如此複雜以至於我們不得不面
對類似「先有雞還是先有蛋」這樣傷腦筋的問題:如何建立並測試這樣乙個物件,他要麼依賴於很多已建立的物件,要麼依賴於其他一些難以意識到的情況,
如整個資料庫的建立和測試。
【模擬物件】
策略模式:
在編寫物件導向的**的時,有些時候你需要乙個能夠自己根據不同的條件來引入不同的操作物件例項。例如,乙個選單功能能夠根據使用者的「**」首
選項來決定是否採用水平的還是垂直的排列形式,或者乙個計費系統可以自行根據使用者的收貨位址來決定稅率。
【執行時多型】
迭代器模式:
類中的物件導向程式設計封裝應用邏輯。物件,就是例項化的類,每個單獨的物件都有乙個特定的身份和狀態。單獨的物件是一種組織**的有用方法,
但通常你會處理一組物件或者集合。
【物件集合】
觀察者模式:
觀測模式允許乙個物件關注其他物件的狀態,並且,觀測模式還為被觀測者提供了一種觀測結構,或者說是乙個主體和乙個客體。主體,也就是被觀測者,
可以用來聯絡所有的觀測它的觀測者。客體,也就是觀測者,用來接受主體狀態的改變 。不論什麼時候,當被觀測物件的狀態變化時,所有註冊過的觀測
者都會得到通知
【事件】
規範模式:
規範模式是為驗證和選擇而開發的:確認乙個特殊的物件是否滿足一定的標準,從集合中選擇出滿足給定標準的元素。規範模式能讓你有效的組織這些
標準,並在你的應用程式中靈活的使用他們。
【斷言】
**模式:
**模式是給某乙個物件提供乙個替代者(佔位者),使之在client物件和subject物件之間編碼更有效率。
【**層】
裝飾器模式:
裝飾器模式提供了改變子類的靈活方案。裝飾器模式允許你在不引起子類數量**的情況下動態的修飾物件,新增特性。
【類的封裝】
介面卡模式:
介面卡(adapter)模式為物件提供了一種完全不同的介面。你可以運用介面卡(adapter)來實現乙個不同的類的常見介面,同時避免了因公升級和拆解客戶
**所引起的糾紛。
【介面的封裝】
動態記錄模式[for db]:
動態記錄模式對資料庫表進行建立,獲取,更新(通過擴充套件實現刪除)每一行的操作。
【單個記錄的封裝】
表資料閘道器模式[for db]:
表資料閘道器模式集中於整表――記錄集而不是單個的記錄。
【資料表的封裝】
資料對映模式[for db]:
資料對映模式將物件的屬性與儲存它們的表字段間的結合密度降低。資料對映模式的本質就是乙個類,它對映或是翻譯類的屬性或是方法到資料庫的相應
字段,反之亦然。資料對映的作用(工作)就在於能對雙方所呈現出的資訊的理解,並能對資訊的訪問進行控制,如根據儲存在資料表中的資訊重建新的
域物件,或是用域物件的資訊來更新或刪除資料表中的相關資料。
【應用和表的對映】
mvc 模式:
mvc模式把你的軟體組織架構分解成3個清晰的任務:model結合了應用資料,應用流程以及業務邏輯,view從model中提取資料並呈現出來,
controller呼叫應用流程,接收輸入並傳送給model和view。
【mvc】
ps:以上是參考 guide.to.php.design.patterns 的簡要總結。
WEB設計模式
value object模式 高效的物件應該像整型那樣運作 如果你把同乙個物件資源賦值給兩個不同的變數,然後改變其中的乙個變數,另乙個變數仍然不受影響。事實 上,這就是value object模式的目標所在。物件和物件指標 工廠模式 在物件導向程式設計中,最通常的方法是乙個new操作符產生乙個物件例...
Web設計模式
摘要 本文介紹了在.net框架下應用web設計模式改進webform程式設計的一些基本方法及要點。關鍵字 設計模式,asp.net,webform,mvc,page controller,front controller,page cache 目錄 引言經典的webform架構 設計模式 mvc模式...
領悟Web設計模式
按照我們編寫webform一般的習慣,首先在頁面上拖放乙個dropdownlist 乙個datagrid 乙個button控制項 介面 webform.aspx 執行結果如圖所示,程式將根據下拉列表框選擇的值繫結datagrid,非常典型的乙個webform架構,體現出asp.net事件驅動的思想,...