設(shè)計(jì)思路:領(lǐng)域驅(qū)動(dòng)設(shè)計(jì)
1.基礎(chǔ)服務(wù)層:DI容器,service,router-rule,access-token,logger,validation,exception…
2.領(lǐng)域模塊:modules(admin,api
3.基礎(chǔ)數(shù)據(jù)模塊:models
4.領(lǐng)域下的數(shù)據(jù)模塊:
項(xiàng)目目錄:動(dòng)因商城Phalcon框架整理



實(shí)現(xiàn)
1.簡化配置文件
2.結(jié)構(gòu)化框架Service注冊(cè)部分實(shí)現(xiàn)
3.結(jié)構(gòu)化框架Exception管理
4.結(jié)構(gòu)化Module 內(nèi)的Event綁定
5.重構(gòu)路由白名單/權(quán)限驗(yàn)證AccessControl
5.按照固定的設(shè)計(jì)規(guī)范梳理出適合當(dāng)前開發(fā)需求的框架結(jié)構(gòu)


備注:
1.基礎(chǔ)類:
作用:統(tǒng)一常用類屬性1.屬性是否可讀/可寫,2.屬性/方法是否存在,3.調(diào)用不存在方法/屬性時(shí)統(tǒng)一拋出可捕獲異常
實(shí)現(xiàn):重寫__get(),__set(),__call(),完成hasPorperty()….
2.異常管理:
作用:規(guī)范代碼中拋出的異常,給開發(fā)人員提供更直觀的異常處理提示
實(shí)現(xiàn):所有異常都需要繼承父類XXXException,表意化重命名,設(shè)定getName方法
3.事件:
作用:解藕邏輯,保持各模塊代碼統(tǒng)一
實(shí)現(xiàn):各個(gè)模塊下event目錄下的所有類 都需要被反射注入到當(dāng)前模塊下
4.消息隊(duì)列模塊:
作用:即時(shí)消息:解藕業(yè)務(wù),分離主/副業(yè)務(wù)流程 延時(shí)消息:
實(shí)現(xiàn):RabbitMQ等消息組件使用/阿里云消息隊(duì)列服務(wù)
5.用戶鑒權(quán):
作用:在運(yùn)行到指定子模塊下時(shí),對(duì)當(dāng)前的URL進(jìn)行各種鑒權(quán),統(tǒng)一處理
實(shí)現(xiàn):子模塊配置路徑白名單,在訪問路徑時(shí),通過重寫baseControll的初始化方法進(jìn)行校驗(yàn)
6.日志記錄服務(wù): -作用:統(tǒng)一日志記錄服務(wù),解耦業(yè)務(wù),方便問題排查
- 實(shí)現(xiàn):日志存儲(chǔ)服務(wù),解析服務(wù),日志查詢,可視化服務(wù)ELK/阿里云日志服務(wù)
*git服務(wù),代碼提交管理,50行高度,120列長度
*【1】.領(lǐng)域驅(qū)動(dòng)設(shè)計(jì)在互聯(lián)網(wǎng)業(yè)務(wù)開發(fā)中的實(shí)踐