php 物件和設計

2021-06-24 11:18:06 字數 953 閱讀 8567

1、設計

(1)**設計:通俗理解為, 類和物件的定義與配置

實現特定功能類, 其他物件組成的類,管理其他物件的類,簡單用的其他物件的類

(2)物件導向和面向過程的乙個核心區別是如何分配職責,

面向過程:一系列命令和方法的連續呼叫,控制**根據不同的條件執行不同的職責,一種自頂而下的執行方式

物件導向:將職責從客戶端的**中移動專門的物件中,減少重複和依賴

面向過程**忙於處理細節,而物件導向**只需要乙個介面即可工作,並且不考慮實行的細節

2、名詞的解析

(1)內聚(cohesion)是乙個模組內部各成分之間相互關聯程度的度量。理想情況下,要是各元件職責明確,注意關聯範圍不宜太廣,否則維護很困難

(2)緊密耦合:系統各部分**緊密綁在一起,就產生了緊密耦合

3、類的定義:

類定義為:真實的事物,一系列動作的執行者,如果事物執行的動作過多,則將類進行拆分

拆分的原則:

定義類只有乙個主要的職責,並且任務盡可能對立。

你可以把類的職責有多個詞形容,最好不超過25個,不要有 『且』 或者 『或』

4、多型:

多型:指乙個公用的介面後維護多個子類實現

例子:支付介面(抽象類):例項化子類,呼叫子類的方法實行支付邏輯流程

支付介面:定義固定的方法

各個平台支付子類:實現介面的方法

5、為介面而不是實現的程式設計

**需要重新設計的4個方向標

(1)**重複,**重複意味著緊密耦合,修改一處**同時需要多處修改

(2)類知道的太多:不能將類依附於外部環境

(3)萬能類:類過於龐大,可以將類拆分

(4)if和switch 的出現 ,可以使用多型來解決

PHP物件導向設計模式和設計原則

一 設計模式 1.單例模式 目的 讓乙個類只能生成乙個物件 步驟 將建構函式變成私有的 在類裡面做乙個靜態成員函式造物件 在方法裡加限制條件 單例模式 class ren public static function duixiang return self r 返回 r中的唯一的例項化物件 r r...

PHP常用設計模式及物件導向設計 筆記和學習

建造者模式 乙個導演類,傳入乙個 不同builder類 具體怎麼製造由此決定 來建立一輛車 定義build介面 不同車輛build類,根據不同來建造 和工廠差不多,要稍複雜一點 class director class engineer class whell class door inte ce ...

PHP 物件和引用

一直以為認為的 php5 物件預設是引用傳遞的 這個想法貌似是不對的。看下面的例子 class a class b public function bar a bar public function ref a bar f new a g new b echo f foo n 輸出1 g foo f...