第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問題,去搜搜看,總會(huì)有你想問的

問一下 class 使用原理和直接引入 function 的差異

問一下 class 使用原理和直接引入 function 的差異

先問一個(gè)先前的做法functionme(){}假設(shè)每個(gè)網(wǎng)頁開頭都引入這個(gè)功能但明明大部分網(wǎng)頁是不需要這個(gè)功能,但還是被引入了跟我將函數(shù)都寫成類+namespace去使用但每一頁都還是需要引入每個(gè)類的功能classget{????publicstaticfunctionme(){????}}以及我最近看的mvc是根據(jù)路由器來決定要引入哪些類請(qǐng)問這三種的優(yōu)劣勢(shì)在哪里?是不是非得只有mvc的撰寫方式才有辦法用最不多余的方式引入需要的功能?或是有沒有其他類似的方式也能做到相同的效果?補(bǔ)充想問一下這樣的做法是不是文件數(shù)會(huì)越來越多?如果每個(gè)文件只做一兩件事?這是不是開發(fā)趨勢(shì)?
查看完整描述

2 回答

?
慕田峪4524236

TA貢獻(xiàn)1875條經(jīng)驗(yàn) 獲得超5個(gè)贊

首先糾正一點(diǎn),MVC只是大部分WEB應(yīng)用的一種結(jié)構(gòu)(算是設(shè)計(jì)框架的一種指導(dǎo)性的原則),它本身與你所說的命名空間namespace(確切地說它屬于一種新的技術(shù),新的特性)就是兩個(gè)維度的東西,所以兩者并不能對(duì)等地去比較。換句話說,當(dāng)前大部分的框架會(huì)采用MVC的原則去設(shè)計(jì)代碼架構(gòu),而namespace是當(dāng)前PHP開發(fā)過程中普遍使用的一種技術(shù)。
你所描述的第一種方式按我的理解應(yīng)該算OPP的開發(fā)(上來就是function,那么應(yīng)該沒有封裝在類內(nèi))。而用類進(jìn)行了封裝可以算是OOP的開發(fā)方式。而要達(dá)到你所說的“用最不多余的方式引入需要的功能”其實(shí)也跟這兩者沒有太大的關(guān)系。。當(dāng)你以適當(dāng)?shù)姆绞綄?duì)方法(函數(shù))進(jìn)行拆分和組合之后總會(huì)找到你所想要達(dá)到的效果。。OPP的方式下你只能采用require或者include之類的方式去加載你需要的文件和函數(shù),文件之間的依賴關(guān)系需要你手動(dòng)去維護(hù)。而一般的OOP下,類之間的依賴關(guān)系也還是需要你手動(dòng)維護(hù),所以它們之間并沒有質(zhì)的區(qū)別,所以也就說不上具體的優(yōu)劣。
接下來呢,分析一下你具體的疑惑,你所拋出來的問題其實(shí)很龐大,龐大到這可以算是一個(gè)可以研究的課題。。以“最不多余的方式引入需要的功能”其實(shí)反過來說何嘗不是“找到最優(yōu)的方式提高代碼的復(fù)用度,降低冗余”。很多的設(shè)計(jì)模式都需要與實(shí)際問題相結(jié)合來實(shí)現(xiàn)這樣的目標(biāo)。你所描述的“根據(jù)路由器來決定要引入哪些類”似乎傳達(dá)的是依賴注入(DenpdencyInjection,DI)。依賴注入本質(zhì)上它還是類的調(diào)用,但是它將類的依賴關(guān)系交給依賴注入容器來管理。你可以自己詳細(xì)看一下DIP,IoC還有DI,應(yīng)該就能理解了。另外你還可以自己嘗試設(shè)計(jì)Interface、abstract之類的再輔以trait來正向地初步實(shí)現(xiàn)你需要的效果。。
                            
查看完整回答
反對(duì) 回復(fù) 2019-05-09
?
繁星點(diǎn)點(diǎn)滴滴

TA貢獻(xiàn)1803條經(jīng)驗(yàn) 獲得超3個(gè)贊

很明顯,直接引用的話,寫的代碼少,而且內(nèi)存消耗,執(zhí)行效率肯定是最好的。但是帶來的最大的壞處就是,你寫了1000個(gè)function后你會(huì)發(fā)現(xiàn),你的項(xiàng)目已經(jīng)不能維護(hù)了,因?yàn)槟阋氤?000個(gè)函數(shù)名,其實(shí)對(duì)于php來說,不用框架,php的運(yùn)行效率是最高的,但是不用框架,代碼可維護(hù)性太差了,這個(gè)就是運(yùn)行效率和開發(fā)效率的考量了
                            
查看完整回答
反對(duì) 回復(fù) 2019-05-09
  • 2 回答
  • 0 關(guān)注
  • 460 瀏覽
慕課專欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)