大家好,我是IT修真院北京分院第27期學(xué)員,一枚正直善良的前端程序員今天跟大家分享一下前端知識點。
今天講下深度思考中的知識點
————?dú)⑷撕屯镀钡臉I(yè)務(wù)邏輯上有什么區(qū)別?
1.背景介紹
業(yè)務(wù)邏輯是什么?
不同的項目有不同的功能,不同的功能需要不同的實現(xiàn),實現(xiàn)這些核心功能的代碼就叫業(yè)務(wù)邏輯。
2.知識剖析
讓你實現(xiàn)一個功能,給你兩個數(shù),讓你獲取它的和,你所寫的如何才能獲得任意給定的兩個數(shù)的和,這個程序?qū)崿F(xiàn)過程稱為業(yè)務(wù)邏輯處理。
就像家里規(guī)矩–“吃飯前必須洗手”“有客人來要起立”-就是業(yè)務(wù)邏輯的生活化實例。
簡單來就是在怎么做事(how to do), 比方說你去餐館吃飯, 你點了個炒米粉,服務(wù)員給你下單,廚房見到單后下鍋給你炒,你吃完后付賬。這一些列動作都可以說是業(yè)務(wù)邏輯。
業(yè)務(wù)邏輯就是客戶的邏輯。在 N 層架構(gòu)的系統(tǒng)中,經(jīng)常會提到這些名詞。
表現(xiàn)層(Presentation layer) 業(yè)務(wù)邏輯層(Application layer)數(shù)據(jù)訪問層(Data layer) ,在一個系統(tǒng)開發(fā)過程中,后臺做一些處理,如果成功,則跳轉(zhuǎn)到 success_xxx 頁面,如果失敗,則跳轉(zhuǎn)到fail_xxx 頁面,如果系統(tǒng)拋出了異常,則跳轉(zhuǎn)到 5xx 頁面,…… 這些屬于頁面邏輯。
還有一些持久層的邏輯,也就是對數(shù)據(jù)庫的操作。
業(yè)務(wù)邏輯是核心邏輯,只關(guān)注用戶的業(yè)務(wù),比如管理系統(tǒng)和財務(wù)系統(tǒng),需要處理的業(yè)務(wù)肯定不一樣,但是頁面的跳轉(zhuǎn)大致相同,對于持久層的操作也差不多。如果你使用了 SSH 框架,那么 hibernate 和 struts 的代碼有很大一部分可以復(fù)用
業(yè)務(wù)邏輯(BL Action)不關(guān)心頁面如何跳轉(zhuǎn),只是簡單的返回成功,或是失敗,或是異常,struts 框架根據(jù)配置文件跳轉(zhuǎn)到相應(yīng)的頁面。
業(yè)務(wù)邏輯也不關(guān)心數(shù)據(jù)如何存儲,是存儲在文件系統(tǒng),還是存儲在數(shù)據(jù)庫系統(tǒng)。是存儲在MySQL,還是NoSQL。也不關(guān)系到底用沒用緩存。
3.常見問題
那么我們今天的主題
——?dú)⑷撕屯镀钡臉I(yè)務(wù)邏輯上有什么區(qū)別?
4.解決方案
實際上就是如何設(shè)置彼此的權(quán)限,以及定義游戲結(jié)束。
剛才講過,程序?qū)崿F(xiàn)過程稱為業(yè)務(wù)邏輯處理。
程序?qū)崿F(xiàn)的過程——獲取上個頁面設(shè)置的玩家數(shù)量,和玩家身份
如何定義死亡?
具體場景具體定義,比如用戶眼中:頭像變暗了(畫個叉叉,寫個死亡之類),不可點擊和其他操作。程序上:要清除他的身份和號碼。
殺手怎么殺人?
殺手殺人要滿足當(dāng)殺手人數(shù)過多時,被殺對象不是殺手,以及活著進(jìn)入到殺人環(huán)節(jié)。
投票要怎么投死人?
投票也要滿足少數(shù)服從多數(shù)的原則,要考慮到當(dāng)票數(shù)相等時會出現(xiàn)什么情況?
1,是要進(jìn)入下一個環(huán)節(jié)。
2,或者是兩個被投票者雙雙出局。
3,還是不許出現(xiàn)這種情況, 必須要決定投一個人,否則判定殺手勝利。
——這些都是要在寫程序之前說清楚,然后用程序?qū)崿F(xiàn)的。
如何定義游戲結(jié)束?
因為寫的是簡易版的殺人游戲,所以這里就討論簡易版的相關(guān)規(guī)則,
平民勝利規(guī)則:平民只有一種勝利方式,當(dāng)殺手一方全部被投死的時候。
殺手勝利規(guī)則:平民一方死光了,或者進(jìn)入到下一輪的參與人數(shù)<=2時。(因為此時為了活命,雙方會互相投票,出現(xiàn)死循環(huán),這種情況直接定義殺手勝利)
5.更多討論
Q1:提問人:藍(lán)裕偉

A1:回答人:李浩
回答:能夠繼續(xù)殺人和投票,因為殺人是取決于點擊確認(rèn)按鈕的,之前的刷新不影響這個。
Q2:提問人:吳浩杰

A2:回答人:李浩
回答:
平民勝利規(guī)則:平民只有一種勝利方式,當(dāng)殺手一方全部被投死的時候。
殺手勝利規(guī)則:平民一方死光了,或者進(jìn)入到下一輪的參與人數(shù)<=2時。
Q3:提問人:郭建峰

A3:回答人:李浩
回答:
因為第一天黑夜一定死亡的是平民,
用sessionStorage來存儲date的天數(shù),
然后做一個if...else判斷就可以了。
個人拙見,多多指教
感謝閱讀
github-PPT鏈接
https://ptteng.github.io/WEB/ppt/JS-04-service-logic.html#/
騰訊視頻鏈接
v.qq.com/x/page/n051999g5gs.html
-----------------------------------------------------------------------------------------------------------------------------------
人生苦短,想學(xué)Python。
著作權(quán)歸作者所有。商業(yè)轉(zhuǎn)載請聯(lián)系作者獲得授權(quán),非商業(yè)轉(zhuǎn)載請注明出處。