php核心學習 設計模式的學習 簡單工廠模式

2021-08-01 19:24:30 字數 1408 閱讀 3781

設計模式是程式設計師老司機長期積累下來的套路,我們在平時寫**的時候總是自己想怎麼寫就怎麼寫,完全沒有一種套路或者正規化,這會造成我們的**混亂難以維護,套路就是讓我們能夠被其他程式設計師理解以及便於**的擴充套件。同時也是讓我們花式搬磚,而不是單調的搬磚。

工廠模式可以分為三類: 

1)簡單工廠模式(****** factory) 

2)工廠方法模式(factory method) 

3)抽象工廠模式(abstract factory)

這裡只分享簡單工廠模式,等以後進一步學習另外兩種模式。這裡我們以簡單的電商場景帶入,我們賣書,狗,和酒。

簡單工廠模式:使用者不用去建立具體產品。因為客戶有乙個工廠來幫他建立產品.想要新增什麼產品,這個工廠就可以建。比如想要狗。工廠就建立狗。即工廠可以建立產品。

1,產品類

有這樣三個實體類:(這裡我們返回陣列代替我們向資料庫查詢資料)

books:

<?php 

class books implements iproduct

}

dogs:

<?php 

class dogs implements iproduct

}

wines:

<?php 

class wines implements iproduct

}

2.工廠類

<?php 

require("iproduct.php");

class productfactory

switch($type)

return $obj;}}

3.客戶呼叫類

require ("productfactory.php");

$obj=productfactory::getproduct("books");//通過工廠方式來獲取圖書類

var_export($obj->getlist());*/

結果如下所示:

使用工廠模式的好處是,當我們遇到**需求的時候,我們能夠拓展進行修改,比如我們想選擇狗卻想返回酒的資料,這時候,我們可以在工廠類中進行修改,例如:

<?php 

require("iproduct.php");

class productfactory

switch($type)

return $obj;}}

以上!

PHP核心學習 執行緒安全

php同一程序下的多個執行緒會試圖讀寫一些儲存在程序記憶體空間的公共資源,此時這些執行緒訪問的記憶體位址空間相同,當乙個執行緒修改時,會影響其它執行緒,這種共享會提高一些 操作的速度,但是多個執行緒間就產生了較大的耦合,並且當多個執行緒併發時,就會產生常見的資料一致性問題或資源競爭等併發常見問題。如...

Linux核心學習

交叉工具鏈 核心相關知識 linux系統的構成 使用者空間 核心空間 思考 為什麼劃分為兩個層次?目的其實是為保護作業系統,防止應用程式的異常導致作業系統崩潰。核心空間與使用者空間是程式執行的兩種不同狀態,通過系統呼叫和硬體中斷能夠完成從使用者空間到核心空間的轉移。那麼linux的核心由哪些構成呢?...

linux 核心學習

linux核心獲取 官網 linux作業系統的核心是模組化,可以使用lsmod命令檢視核心模組,下面展示已載入系統的模組 root 172.16.0.55 vendor composer test lsmod module size used by nfnetlink queue 8111 0 nf...