📌 我为什么把业务逻辑都写进数æ®åº“ã€è®©ç¼–ç¨‹å†æ¬¡ä¼Ÿå¤§#14】 - YouTube
Original URL: https://www.youtube.com/watch?v=BWI943IEHIk
📌 我为什么把业务逻辑都写进数æ®åº“ã€è®©ç¼–ç¨‹å†æ¬¡ä¼Ÿå¤§#14】 - YouTube
ã€å®¹æ˜“懂 Easy Know】
ä½ çŸ¥é“嗎?寫電腦程å¼å°±åƒè“‹æˆ¿åï¼Œå¦‚æžœä½ çš„ç¨‹å¼åªæœ‰ä¸€é»žé»žç°¡å–®çš„功能,就åƒè“‹ä¸€å€‹å°å°çš„玩具屋,其實ä¸éœ€è¦å¸é‚£äº›è“‹é«˜æ¨“大廈的複雜方法。影片告訴我們一個很è€ä½†å¾ˆè°æ˜Žçš„辦法:把程å¼è¦åšçš„æ‰€æœ‰äº‹æƒ…ï¼Œå°±åƒæŠŠçŽ©å…·å±‹çš„çŽ©æ³•å’Œè¦å‰‡ï¼Œç›´æŽ¥å¯«åœ¨æ”¾çŽ©å…·çš„ç®±åè£¡ï¼ˆè³‡æ–™åº«ï¼‰ï¼Œè€Œä¸æ˜¯å¦å¤–å¯«ä¸€æœ¬åŽšåŽšçš„èªªæ˜Žæ›¸ã€‚é€™æ¨£åšæœ‰ä»€éº¼å¥½è™•å‘¢ï¼Ÿå› ç‚ºè¦å‰‡å’ŒçŽ©å…·éƒ½åœ¨ä¸€èµ·ï¼Œè¦çŽ©çš„æ™‚å€™å°±æ›´å¿«ã€æ›´æ–¹ä¾¿ï¼è€Œä¸”æ¯”è¼ƒä¸æœƒæžéŒ¯æˆ–弄丟æ±è¥¿ã€‚å°å¾ˆå¤šç°¡å–®çš„程å¼ä¾†èªªï¼Œé€™å€‹æ–¹æ³•比ç¾åœ¨å¾ˆå¤šå¤§äººèªªçš„複雜方法更çœäº‹åˆæ›´ç©©å›ºå–”ï¼
----------
ã€ç¸½çµ Overall Summary】
å½±ç‰‡çš„æ ¸å¿ƒè«–é»žæ˜¯åå°è»Ÿé«”æž¶æ§‹è¨è¨ˆä¸çš„「一體é©ç”¨ã€ï¼ˆOne Size Fits All)迷æ€ã€‚作者強調,ä¸åŒçš„å•題需è¦ä¸åŒè¤‡é›œåº¦çš„è§£æ±ºæ–¹æ¡ˆã€‚å°æ–¼åŠŸèƒ½ç°¡å–®ã€ç”¨æˆ¶åŸºæ•¸ä¸å¤§ã€ä¸»è¦ä»¥CRUDæ“作為主的應用程å¼ï¼Œå°‡æ¥å‹™é‚è¼¯ç›´æŽ¥å¯¦ä½œåœ¨è³‡æ–™åº«ä¸æ˜¯ä¸€ç¨®è¢«ä½Žä¼°ä½†æ¥µå…¶æœ‰æ•ˆçš„æ–¹æ³•。
這種將æ¥å‹™é‚è¼¯ç½®æ–¼è³‡æ–™åº«å…§çš„åšæ³•ä¸¦éžæ–°æ¦‚å¿µï¼Œå…¶æ ¹æºå¯è¿½æº¯è‡³æ—©æœŸçš„資料庫系統(如IBM IMSï¼‰ï¼Œä¸¦å› å…¶åœ¨é€Ÿåº¦ã€è³‡æ–™å®Œæ•´æ€§èˆ‡å®‰å…¨æ€§æ–¹é¢çš„優勢,在銀行ç‰å°è³‡æ–™å¯é æ€§è¦æ±‚æ¥µé«˜çš„é ˜åŸŸå¾—åˆ°å»£æ³›æ‡‰ç”¨ã€‚è³‡æ–™åº«å…§å»ºçš„ACID特性ã€äº¤æ˜“(Transaction)ã€è§¸ç™¼å™¨(Trigger)ç‰æ©Ÿåˆ¶ï¼Œèƒ½å¯é 地ä¿è‰è³‡æ–™çš„ä¸€è‡´æ€§èˆ‡åŽŸåæ€§ï¼Œé€™æ¯”在應用層手動實作更為穩å¥å¯é ã€‚åŒæ™‚,在資料æºé 控制å˜å–權é™ä¹Ÿèƒ½æä¾›é«˜å±¤ç´šçš„安全性。
ä½œè€…é€²ä¸€æ¥æŒ‡å‡ºï¼Œè¨±å¤šç•¶ä»£è»Ÿé«”開發者é¢è‡¨çš„專案,其實並ä¸éœ€è¦è™•ç†æµ·é‡æ•¸æ“šæˆ–ç™¾è¬ç´šä»¥ä¸Šç”¨æˆ¶ï¼Œå› æ¤ç›²ç›®å¥—用分散å¼ã€å¾®æœå‹™ã€é«˜å¯ç”¨ç‰è¤‡é›œæž¶æ§‹æ˜¯éŽåº¦è¨è¨ˆã€‚å°æ–¼é€™é¡žç°¡å–®æ‡‰ç”¨ï¼Œå°‡æ¥å‹™é‚輯ä¸å¿ƒåŒ–於資料庫,å而能大幅減少應用層程å¼ç¢¼ï¼Œç°¡åŒ–é–‹ç™¼ã€æ¸¬è©¦èˆ‡ç¶è·æµç¨‹ã€‚
é€éŽåˆ†äº«è¦ªèº«ä½¿ç”¨æ¤æ–¹æ³•建構電商後端的經驗(僅約八åƒè¡ŒSQL程å¼ç¢¼ï¼‰ï¼Œä½œè€…è‰æ˜Žäº†å…¶é«˜æ•ˆæ€§èˆ‡å¯è¡Œæ€§ï¼Œä¸¦å°æ¯”傳統開發模å¼ï¼ŒæŒ‡å‡ºé€™ç¨®æ–¹æ³•所需人力更少ã€ç¨‹å¼ç¢¼æ›´å°‘ã€éŒ¯èª¤æ›´å°‘ã€ç¶è·æ›´è¼•é¬†ã€‚å½±ç‰‡é¼“å‹µé–‹ç™¼è€…é‡æ–°èªè˜ä¸¦æ·±å…¥åˆ©ç”¨è³‡æ–™åº«çš„強大功能,在é©åˆçš„å ´æ™¯ä¸‹æ‡‰ç”¨è³‡æ–™åº«ä¸å¿ƒåŒ–è¨è¨ˆï¼Œç™¼æ®å…¶æ›´å¤§åƒ¹å€¼ã€‚
----------
ã€è§€é»ž Viewpoints】
軟體è¨è¨ˆæ²’有一套è¬èƒ½çš„解決方案,複雜度應與å•題本身匹é…。
å°æ–¼åŠŸèƒ½ç°¡å–®ã€ç”¨æˆ¶è¦æ¨¡ä¸å¤§çš„æ‡‰ç”¨ç¨‹å¼ï¼Œå°‡æ¥å‹™é‚輯直接寫入資料庫是一種有效且çœäº‹çš„è¨è¨ˆæ€è·¯ã€‚
這種ä¸å¿ƒåŒ–è¨è¨ˆä¸¦éžéŽæ™‚,而是æ·å²ä¸Šé‡è¦çš„æž¶æ§‹æ¨¡å¼ï¼Œå°¤å…¶å› 其速度ã€è³‡æ–™å®Œæ•´æ€§ï¼ˆACID)與安全性而在關éµç³»çµ±ä¸å¾—到驗è‰ã€‚
利用資料庫內建的交易(Transaction)ã€è§¸ç™¼å™¨(Trigger)ç‰æ©Ÿåˆ¶ï¼Œå¯ä»¥æ›´å¯é ã€æ›´æ–¹ä¾¿åœ°å¯¦ç¾æ¥å‹™é‚輯,ä¿è‰è³‡æ–™ä¸€è‡´æ€§èˆ‡å®‰å…¨æ€§ã€‚
許多æµè¡Œçš„分散å¼ã€å¾®æœå‹™ç‰æž¶æ§‹å°æ–¼çµ•大多數ä¸éœ€è¦è™•ç†å·¨é‡ç”¨æˆ¶æˆ–資料的普通應用而言是éŽåº¦è¨è¨ˆä¸”ä¸å¿…è¦çš„。
å°‡é‚è¼¯é›†ä¸æ–¼è³‡æ–™åº«å¯ä»¥å¤§å¹…減少應用層程å¼ç¢¼ã€ç°¡åŒ–開發æµç¨‹ï¼Œä¸¦é™ä½Žç¶è·é›£åº¦ã€‚
開發者應更深入了解資料庫的功能,並在é©ç•¶çš„å ´æ™¯ä¸åˆ©ç”¨å…¶å¼·å¤§èƒ½åŠ›ã€‚
----------
ã€æ‘˜è¦ Abstract】
✅ 軟體è¨è¨ˆæ²’有è¬èƒ½çš„「一體é©ç”¨ã€è§£æ±ºæ–¹æ¡ˆã€‚
📌 ç°¡å–®å•題應使用簡單的è¨è¨ˆï¼Œè¤‡é›œå•題æ‰éœ€è¦è¤‡é›œè¨è¨ˆã€‚
✅ å°æ–¼åŠŸèƒ½ç°¡å–®çš„è»Ÿé«”ï¼Œå°‡æ¥å‹™é‚è¼¯å¯«å…¥è³‡æ–™åº«æ˜¯å€‹æœ‰æ•ˆçš„é¸æ“‡ã€‚
✅ 這種資料庫ä¸å¿ƒåŒ–方法具有æ·å²æ·µæºï¼Œä¸¦æä¾›é€Ÿåº¦å¿«ã€è³‡æ–™å®Œæ•´æ€§é«˜(ACID)與安全性佳的優勢。
âš ï¸ å¤§å¤šæ•¸è»Ÿé«”ä¸¦ä¸éœ€è¦è¤‡é›œçš„åˆ†æ•£å¼æˆ–å¾®æœå‹™æž¶æ§‹ã€‚
📌 利用資料庫的交易(Transaction)ã€è§¸ç™¼å™¨(Trigger)ç‰åŠŸèƒ½ï¼Œå¯å¤§å¹…簡化應用層程å¼ç¢¼ã€‚
✅ 作者分享æˆåŠŸä½¿ç”¨SQLå»ºæ§‹é›»å•†å¾Œç«¯çš„ç¶“é©—ï¼Œè‰æ˜Žæ¤æ–¹æ³•的高效與å¯è¡Œæ€§ã€‚
📌 資料庫的功能強大且常被低估,應鼓勵更多應用。
----------
ã€é—œéµå— Key Words】
資料庫
æ¥å‹™é‚輯
ä¸å¿ƒåŒ–
簡單軟體
軟體架構
ACID
交易 Transaction
觸發器 Trigger
éŽåº¦è¨è¨ˆ
✡ Oliå°æ¿ƒç¸® Summary bot 為您濃縮é‡é»ž ✡
â–¶ https://www.youtube.com/watch?v=BWI943IEHIk
Comments ()