摘要:原文地址設(shè)計(jì)模式一基礎(chǔ)編程模式俗話說(shuō),是世界上最好的語(yǔ)言,因?yàn)槭裁炊寄芨伞1鞠盗形恼聦⒂蓽\入深的介紹各種設(shè)計(jì)模式。轉(zhuǎn)變編程的思維需要花費(fèi)的時(shí)間是很長(zhǎng)的,但是記住算法提高程序運(yùn)行的速度,而設(shè)計(jì)模式提高編程的速度。
Introduction原文地址:PHP設(shè)計(jì)模式(一):基礎(chǔ)編程模式
俗話說(shuō),“PHP是世界上最好的語(yǔ)言”,因?yàn)镻HP什么都能干。但是在PHP編程中,你是否會(huì)遇到這樣的困惑:明明是相同的需求,但是之前寫(xiě)的代碼卻并不能重用,稍微修改不滿足需求,大改又會(huì)讓頁(yè)面變樣。
是的,由于PHP什么都能干,但是高度靈活性降低了代碼的結(jié)構(gòu)性。雖然可以利用三方框架來(lái)解決問(wèn)題,但問(wèn)題的根本在于缺乏設(shè)計(jì)模式。
本系列文章將由淺入深的介紹各種設(shè)計(jì)模式。
面向?qū)ο缶幊?,Object-Oriented Programming(OOP)作為最基本的設(shè)計(jì)模式并不是什么新鮮的話題,但是大部分新手的PHP編程都是在寫(xiě)流水賬,各種拼接字符串,所以這里還是要提一下。
Object-Oriented Programming的概念這里就不說(shuō)了,畢竟很多人都明白,但是如何在PHP中使用?
假設(shè)你需要在頁(yè)面上顯示不同的用戶類(lèi)型,如電腦用戶、手機(jī)用戶等,那么你可以將“顯示”這件事抽象為一個(gè)類(lèi),如:
agent = $_SERVER["HTTP_USER_AGENT"]; echo $this->agent; } } $showAgent = new ShowAgent(); ?>調(diào)試技巧
在很多PHP默認(rèn)環(huán)境中,調(diào)試功能是關(guān)閉的。打開(kāi)調(diào)試功能又需要配置php.ini文件,其實(shí)有一個(gè)簡(jiǎn)單的方法:
將這段代碼加入到你的代碼中,甚至可以require或者include進(jìn)去,方便調(diào)試。
流水賬編程這里列出流水賬編程,并不是讓你學(xué)習(xí),而是指出何種編程不推薦使用:
這段代碼并沒(méi)有錯(cuò),但是以后再也無(wú)法重用了,對(duì)吧?每次遇到相同問(wèn)題,你都需要反復(fù)拼接。
面向過(guò)程編程面向過(guò)程編程曾經(jīng)很流行,缺點(diǎn)也是無(wú)法維護(hù),例如:
這段代碼同樣沒(méi)有錯(cuò),但是時(shí)間久了,由于缺乏類(lèi)的概念,showTotal在各種應(yīng)用場(chǎng)景缺乏靈活性,你還是需要重寫(xiě)代碼。
Summary轉(zhuǎn)變編程的思維需要花費(fèi)的時(shí)間是很長(zhǎng)的,但是記?。核惴ㄌ岣叱绦蜻\(yùn)行的速度,而設(shè)計(jì)模式提高編程的速度。
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://www.ezyhdfw.cn/yun/21481.html
摘要:原文地址設(shè)計(jì)模式六世紀(jì)年代,計(jì)算機(jī)發(fā)展迅速,編程技術(shù)也日益分化。到了年代,的出現(xiàn)更是讓這種程序設(shè)計(jì)模式得以延續(xù)。根據(jù)設(shè)計(jì)模式三封裝中介紹的設(shè)計(jì)原則,在面向?qū)ο蟪绦蛟O(shè)計(jì)中,類(lèi)和類(lèi)之間的訪問(wèn)交互和更新應(yīng)該是通過(guò)和。 原文地址:PHP設(shè)計(jì)模式(六):MVC Introduction 20世紀(jì)80年代,計(jì)算機(jī)發(fā)展迅速,編程技術(shù)也日益分化。桌面應(yīng)用編程,也逐漸出現(xiàn)了用戶圖形界面和程序邏輯分離的程...
摘要:第一階段基礎(chǔ)階段基礎(chǔ)程序員重點(diǎn)把搞熟練核心是安裝配置基本操作目標(biāo)能夠完成基本的系統(tǒng)安裝,簡(jiǎn)單配置維護(hù)能夠做基本的簡(jiǎn)單系統(tǒng)的開(kāi)發(fā)能夠在中型系統(tǒng)中支持某個(gè)功能模塊的開(kāi)發(fā)。本項(xiàng)不做重點(diǎn)學(xué)習(xí),除非對(duì)前端有興趣。 第一階段:基礎(chǔ)階段(基礎(chǔ)PHP程序員) 重點(diǎn):把LNMP搞熟練(核心是安裝配置基本操作) 目標(biāo):能夠完成基本的LNMP系統(tǒng)安裝,簡(jiǎn)單配置維護(hù);能夠做基本的簡(jiǎn)單系統(tǒng)的PHP開(kāi)發(fā);能夠在P...
摘要:在設(shè)計(jì)模式中,抽象類(lèi)不能夠被實(shí)例化初始化,但是可以依靠具體類(lèi)的繼承來(lái)實(shí)現(xiàn)。對(duì)于大型項(xiàng)目來(lái)說(shuō),對(duì)象都是由基本的抽象類(lèi)繼承實(shí)現(xiàn),而這些類(lèi)的方法通常都由接口來(lái)定義。 原文地址:PHP設(shè)計(jì)模式(二):抽象類(lèi)和接口 Introduction 對(duì)于編程來(lái)說(shuō),對(duì)事物的抽象是一個(gè)老生常談的話題,抽象問(wèn)題更利于面向?qū)ο缶幊桃约俺绦蛟O(shè)計(jì)模式。和C/C++,Java,Python等語(yǔ)言一樣,PHP也支持面向...
摘要:很多情況下,通常一個(gè)人類(lèi),即創(chuàng)建了一個(gè)具體的對(duì)象。對(duì)象就是數(shù)據(jù),對(duì)象本身不包含方法。類(lèi)是相似對(duì)象的描述,稱(chēng)為類(lèi)的定義,是該類(lèi)對(duì)象的藍(lán)圖或原型。在中,對(duì)象通過(guò)對(duì)類(lèi)的實(shí)體化形成的對(duì)象。一類(lèi)的對(duì)象抽取出來(lái)。注意中,對(duì)象一定是通過(guò)類(lèi)的實(shí)例化來(lái)的。 showImg(https://segmentfault.com/img/bVTJ3H?w=900&h=385); 馬上就要到七夕了,離年底老媽老爸...
摘要:很多情況下,通常一個(gè)人類(lèi),即創(chuàng)建了一個(gè)具體的對(duì)象。對(duì)象就是數(shù)據(jù),對(duì)象本身不包含方法。類(lèi)是相似對(duì)象的描述,稱(chēng)為類(lèi)的定義,是該類(lèi)對(duì)象的藍(lán)圖或原型。在中,對(duì)象通過(guò)對(duì)類(lèi)的實(shí)體化形成的對(duì)象。一類(lèi)的對(duì)象抽取出來(lái)。注意中,對(duì)象一定是通過(guò)類(lèi)的實(shí)例化來(lái)的。 showImg(https://segmentfault.com/img/bVTJ3H?w=900&h=385); 馬上就要到七夕了,離年底老媽老爸...
閱讀 1584·2021-10-08 10:05
閱讀 3209·2021-09-26 10:10
閱讀 974·2019-08-30 15:55
閱讀 583·2019-08-26 11:51
閱讀 527·2019-08-23 18:10
閱讀 3975·2019-08-23 15:39
閱讀 740·2019-08-23 14:50
閱讀 868·2019-08-23 14:46