小男孩‘自慰网亚洲一区二区,亚洲一级在线播放毛片,亚洲中文字幕av每天更新,黄aⅴ永久免费无码,91成人午夜在线精品,色网站免费在线观看,亚洲欧洲wwwww在线观看

分享

架構(gòu)師根本不會(huì)被語言限制住,php照樣可以用領(lǐng)域驅(qū)動(dòng)設(shè)計(jì)DDD四層架構(gòu)!

 小傅哥 2021-12-13

作者:小傅哥
博客:https://

沉淀、分享、成長,讓自己和他人都能有所收獲!😄

一、前言

你在通往架構(gòu)師的路上嗎?

程序員這個(gè)行業(yè)就像是在不斷的打怪升級(jí),突破每一階段的瓶頸期。

從畢業(yè)前想通過實(shí)習(xí)拿到offer、畢業(yè)后想通過試用期到轉(zhuǎn)正留下、轉(zhuǎn)正后程序員想做到高級(jí)開發(fā)、從高級(jí)該開發(fā)想做到架構(gòu)師、從架構(gòu)師想做到更高的總監(jiān)或者CTO。往后的路越來越不容易,既需要需要個(gè)人不斷的沉淀學(xué)習(xí),也需要一定的機(jī)遇機(jī)會(huì)。

在這條路線上架構(gòu)師是一個(gè)瓶頸期的重要轉(zhuǎn)折點(diǎn),因?yàn)檫@個(gè)階段遠(yuǎn)不止個(gè)人的技術(shù)棧學(xué)習(xí),還有很多其他能力,幾乎可以包括的有如下幾點(diǎn);

  1. 有中大型項(xiàng)目開發(fā)落地經(jīng)驗(yàn)
  2. 有可靠的交付質(zhì)量和統(tǒng)籌能力
  3. 能解決復(fù)雜項(xiàng)目的架構(gòu)設(shè)計(jì)和推進(jìn)執(zhí)行
  4. 有一定的技術(shù)廣度和深度,改的了bug,處理的了事故
  5. 定得了規(guī)范、設(shè)計(jì)了架構(gòu)
  6. 有一定的認(rèn)知范圍,熟悉業(yè)務(wù)、產(chǎn)品和運(yùn)營,了解運(yùn)營規(guī)劃和業(yè)務(wù)發(fā)展
  7. 帶得了小組,推進(jìn)項(xiàng)目落地和組內(nèi)技術(shù)成長
  8. 有一定的專業(yè)影響力,能用技術(shù)創(chuàng)造價(jià)值
  9. 有緊急情況的應(yīng)對(duì)能力
  10. 流程規(guī)范制定、方法論、開源項(xiàng)目的相關(guān)經(jīng)驗(yàn)

一個(gè)技術(shù)架構(gòu)師要求可能不只這十點(diǎn),還有很多軟實(shí)力。但這些很難通過培訓(xùn)或者上課學(xué)來,因?yàn)檫@些能力都是實(shí)操經(jīng)驗(yàn),需要長時(shí)間的磨練。

其實(shí)即使沒有架構(gòu)師也不會(huì)缺少系統(tǒng)架構(gòu),這樣的小組并不需要養(yǎng)一個(gè)架構(gòu)師,很多都是成套的快速搭建的技術(shù),尤其像 SpringBoot 一整套服務(wù),很適合小型公司使用。

但如果有非常復(fù)雜的系統(tǒng)架構(gòu)和業(yè)務(wù)場景設(shè)計(jì),包括幾十個(gè)系統(tǒng)的分組安排開發(fā),提供支撐上百萬的QPS、秒殺的活動(dòng)瞬時(shí)就有幾萬、以及需要隨著業(yè)務(wù)發(fā)展擴(kuò)展到可以支撐幾百萬DAU的后臺(tái)服務(wù)。就需要架構(gòu)師來整體把控,因?yàn)樗梢詮南聠?、到交易、到支付、到結(jié)算、到活動(dòng)、到玩法,怎么支撐、怎么設(shè)計(jì),提供出一整套的解決的方案,那么這個(gè)體量復(fù)雜程度的系統(tǒng),就不在是一個(gè)小作坊團(tuán)隊(duì)能承擔(dān)下來的了。

二、技術(shù)棧閉環(huán)學(xué)習(xí)

你的技術(shù)能力足以支撐整個(gè)系統(tǒng)嗎?

小傅哥,技術(shù)閉環(huán)

其實(shí)很多程序員👨?💻?大部分都被局限在產(chǎn)品的PRD里,除此之外對(duì)整個(gè)全局并沒有太多的認(rèn)知。而且只是在技術(shù)范疇內(nèi)也同樣被限定在某個(gè)語言下,比如后端研發(fā)基本開發(fā)不出一個(gè)完整的前端頁面、前端同學(xué)同樣也寫不出后端接口。

當(dāng)然在某個(gè)技術(shù)語言下深扎不一定是什么壞事,甚至可能還有一番創(chuàng)造和成績。只不過缺少了全局的認(rèn)知和了解,在某些時(shí)候會(huì)被限定到一個(gè)瓶頸期里,在想成長到下一個(gè)階段就很難了。

或者更簡單的說,你能用你所會(huì)的技能搭建出一個(gè)技術(shù)博客嗎,并運(yùn)營起來。如果你沒做過這件事,那么從你開始到完成你會(huì)發(fā)現(xiàn)。你需要的不只是java,還有UI設(shè)計(jì),還有前端頁面,還有服務(wù)器等等一套技術(shù)來支撐。同時(shí),在某些時(shí)候你會(huì)為選擇用 java 還是其他語言而糾結(jié),因?yàn)閭€(gè)人博客的服務(wù)器也是要付費(fèi)的,java 服務(wù)器的費(fèi)用通常會(huì)貴一些。

所以,如果你的將來想自己做點(diǎn)什么,就不要只被局限在某個(gè)技術(shù)里,也不要被局限在某個(gè)領(lǐng)域中。了解了解業(yè)務(wù)熟悉熟悉運(yùn)營也嘗試學(xué)學(xué)UI,這些知識(shí)的學(xué)習(xí)都遠(yuǎn)比浪費(fèi)可靠。

三、我那折騰的成長經(jīng)驗(yàn)

講道理,其實(shí)我是一個(gè)很愛折騰的程序員,當(dāng)然別的事上我也愛折騰,尤其發(fā)明創(chuàng)造類的。

小時(shí)候我會(huì)把很多東西拆嘍,拿里面的電機(jī)等小東西,在做一些玩具。比如;可以下水的電動(dòng)小船、可以滑冰的小冰車、還有一些懶人小工具等。

隨著這樣的性格到學(xué)編程也是這樣愛倒騰,從初學(xué)編程就想著要自己做網(wǎng)站。從只會(huì)個(gè)html就開始買域名、備案、上線網(wǎng)站、裝b分享,這一套組合拳就開始折騰到現(xiàn)在。直到有了目前這個(gè)穩(wěn)定的技術(shù)博客網(wǎng)站 。這些讓我學(xué)到了很多額外的知識(shí),也拓展了很多的黑技能。

1. 我有一個(gè)博客引流

假如你有一個(gè)流量還可以的技術(shù)博客,又新申請了一個(gè)公眾號(hào),想把公眾號(hào)做起來。那你會(huì)怎么做?

是不會(huì)想到在技術(shù)博客找塊顯眼的區(qū)域,放置一張公眾號(hào)二維碼?但這樣的方式其實(shí)并不會(huì)有太多人關(guān)注,從現(xiàn)在比較流行話的來說,關(guān)注不關(guān)注并不會(huì)影響到用戶的利益。

所以,我們更希望的是在保證用戶體驗(yàn)的情況下,盡可能的引導(dǎo)用戶主動(dòng)關(guān)注。那么最好的方式就是用戶閱讀文章時(shí)提醒關(guān)注,如果沒有關(guān)注只能閱讀文章的30%內(nèi)容,關(guān)注即可閱讀全文。就像下面這樣的效果,如下;

這個(gè)效果最終的結(jié)果就是用戶在閱讀文章時(shí),可以引導(dǎo)用戶關(guān)注公眾號(hào)發(fā)送指定的編碼進(jìn)行解鎖,解鎖后允許用戶閱讀,流程如下;

2. 為了引流要付出多少成本?

小傅哥,服務(wù)器成本支出

這是使用Java語言,開發(fā)一個(gè)把博客用戶引流到公眾號(hào)服務(wù),一年大概的成本。當(dāng)然不同的云服務(wù)廠商的價(jià)格以及活動(dòng)時(shí)略有不同,但按照每年的平均價(jià)格計(jì)算,大概會(huì)在1800.00元左右。

這個(gè)錢💰也不是太貴,但放在整個(gè)成本核算的服務(wù)里,這樣的投入就是蠻高的了。除非你的公眾號(hào)收入可以抵消這部分投入,并且還有一些收益那么是可以的。另外這里我們還沒有計(jì)算人工投入,對(duì)號(hào)主就是那個(gè)多種角色的人工:產(chǎn)品 + 研發(fā) + 視覺 + 業(yè)務(wù) + 運(yùn)營 = 號(hào)主!

可能你不知道,Java服務(wù)是貴一些,但還有php的服務(wù)器便宜呀,價(jià)格差多少呢?以php的虛擬機(jī)為例,一年的價(jià)格是198元。而且這個(gè)php虛擬機(jī)還包括了1G的數(shù)據(jù)庫資源,與java服務(wù)器相比確實(shí)很省錢。

所以,選擇php開發(fā)這套公眾號(hào)與博客打通的后端服務(wù),就顯得非常適合。

3. 使用PHP搭建DDD四層架構(gòu)

好多年前我也自學(xué)過PHP,得益于那句:”php是全世界最好的語言!“。

因?yàn)樵谶@條學(xué)習(xí)的道路上愛折騰,所以C++、C#、PHP、PLC、中繼器等也都開發(fā)過。但太久不用所以也忘的7788了,可為了能省錢我用一天時(shí)間把PHP又學(xué)會(huì)了

其實(shí)有了一定的編程經(jīng)驗(yàn),語言之間是有一定的相似度的。你只要按照你的想法實(shí)現(xiàn)即可,任何一個(gè)語言都會(huì)提供給你相應(yīng)的實(shí)現(xiàn)方式,不知道?搜就可以!就像下面這個(gè)PHP的領(lǐng)域驅(qū)動(dòng)設(shè)計(jì)四層架構(gòu),與Java很是相似。如下;

小傅哥,PHP與領(lǐng)域驅(qū)動(dòng)設(shè)計(jì)

咳咳,這里我沒有選擇使用php的一些框架,例如 thinkphp、laravel等。畢竟框架對(duì)我來說開發(fā)一個(gè)公眾號(hào)的后端服務(wù),還是稍顯笨重。按照我的想法邏輯,搭建一個(gè)DDD四層架構(gòu)按照我實(shí)現(xiàn)Java的方式實(shí)現(xiàn)PHP代碼即可。實(shí)現(xiàn)方式也會(huì)非常快,最后只花了1天時(shí)間就把整個(gè)服務(wù)寫完并部署上。這包括;代碼開發(fā)、數(shù)據(jù)庫配置、服務(wù)上線、接口切換、SSL、跨域等。所以,我一直想說不要只做個(gè)工具人,要鋪設(shè)的全面一些!

例子,讓你看看現(xiàn)在的PHP與Java像不像;

  1. 定義方法名稱用function,public function entry()
  2. 構(gòu)造函數(shù)public function __construct(),可以初始化一些信息
  3. 字符串用點(diǎn)連接,$openId . "_" . $token
  4. 接口用interface定義,interface LogicFilter
  5. 類的引入包,require_once
  6. 方法調(diào)用用指針,$this->msgEngineHandle->process($behaviorMatter);
  7. 數(shù)據(jù)庫連接,new mysqli()
  8. 定義屬性,var $openId;
  9. 獲取入?yún)?#xff0c;$_GET['token']
  10. 輸出結(jié)果反饋到接口,echo

… 等等,還有很多。你所有的邏輯實(shí)現(xiàn)只要在Java里可以的,PHP也都有相應(yīng)的支持。這就是語言建設(shè)的規(guī)范,并在某些命名也是保持統(tǒng)一的。

四、總結(jié)

  1. 這呢就是我在10.1放假的最后一天,把Java語言開發(fā)的公眾號(hào)后臺(tái),切換成PHP的經(jīng)歷。但代碼結(jié)構(gòu)沒變,依舊是我喜歡的DDD領(lǐng)域驅(qū)動(dòng)設(shè)計(jì)。重要的是省錢了!,這里還有一個(gè)Java版本的公眾號(hào)后臺(tái)開發(fā)。Java版DDD四層架構(gòu),開發(fā)公眾號(hào)服務(wù)端
  2. 如果你希望自己,不只是編程這條路上的PRD工具人。那么一定要大力的鋪設(shè)自己的技術(shù)棧和其他不只是研發(fā)的開發(fā)能力。當(dāng)你真的去了解業(yè)務(wù)、運(yùn)營、產(chǎn)品后,相信你可以寫出更加符合市場的代碼。同時(shí)這些軟技能,可以幫助你走向更高的階梯!
  3. 好車上道都不響、破車上路才嘰里呱啦的!無論你在哪一行或者哪一方向努力,都可以默默的堅(jiān)持著??梢栽谝粭l路上走的很久,總比每天都想著換方向要重要的多。不要做一個(gè)簡單的男人,加油!
  4. 對(duì)了,在打個(gè)廣告😄🤣;
  • 15年,會(huì)Netty就能去大廠
  • 16年,懂分布式開發(fā)就能去大廠
  • 17年,熟讀Dubbo源碼就能去大廠
  • 18年,會(huì)寫中間件就能去大廠
  • 19年,會(huì)算法就能去大廠
  • 20年,上 學(xué)習(xí),就能去香河大廠

五、系列推薦

  • 握草,你竟然在代碼里下毒!
  • 一次代碼評(píng)審,差點(diǎn)過不了試用期!
  • 程序員為什么熱衷于造輪子,升職加薪嗎?
  • 全網(wǎng)最火10萬下載量,《重學(xué)Java設(shè)計(jì)模式》(22個(gè)真實(shí)開發(fā)場景)
  • 面經(jīng)手冊(上最快的車,拿最貴的offer)

    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評(píng)論

    發(fā)表

    請遵守用戶 評(píng)論公約

    類似文章 更多