java難的是業(yè)務邏輯 Java Web開發(fā)中,業(yè)務邏輯寫在SQL里好還是代碼里好呢?有什么建議嗎?
Java Web開發(fā)中,業(yè)務邏輯寫在SQL里好還是代碼里好呢?有什么建議嗎?目前,大多數(shù)研發(fā)團隊都要求用代碼實現(xiàn)業(yè)務邏輯,SQL操作往往是最基本的操作。用SQL表示業(yè)務邏輯,即用存儲過程表示業(yè)務邏輯,
Java Web開發(fā)中,業(yè)務邏輯寫在SQL里好還是代碼里好呢?有什么建議嗎?
目前,大多數(shù)研發(fā)團隊都要求用代碼實現(xiàn)業(yè)務邏輯,SQL操作往往是最基本的操作。用SQL表示業(yè)務邏輯,即用存儲過程表示業(yè)務邏輯,是一種傳統(tǒng)的開發(fā)方案。
在C/s時代,很多邏輯都是通過SQL來實現(xiàn)的,主要是因為業(yè)務規(guī)模和部署方式。在早期的C/s編程時代,它通常是在非分布式環(huán)境中開發(fā)的,在大多數(shù)情況下,它不需要考慮可移植性問題。這時,使用SQL來完成業(yè)務邏輯就更方便了。
使用存儲過程來完成業(yè)務邏輯的最大優(yōu)點是性能會更好,但這也取決于業(yè)務的大小。如果業(yè)務規(guī)模過大,業(yè)績會更差。早期的數(shù)據(jù)存儲規(guī)模比較小,所以使用存儲過程比較方便。
當前網(wǎng)絡發(fā)展已進入大數(shù)據(jù)、云計算時代,業(yè)務類型和業(yè)務規(guī)模發(fā)生了巨大變化。特別是隨著NoSQL數(shù)據(jù)庫在大數(shù)據(jù)時代的廣泛應用,使用SQL語句來完成業(yè)務邏輯的場景越來越少。而且,目前大多數(shù)程序都是分布式的,使用SQL存儲過程處理業(yè)務邏輯非常麻煩,會導致整個項目的可移植性和可讀性嚴重下降。
目前,在傳統(tǒng)企業(yè)的開發(fā)團隊中,使用SQL來處理業(yè)務邏輯是相當普遍的,因為傳統(tǒng)企業(yè)的數(shù)據(jù)庫大多還是關系數(shù)據(jù)庫,沒有可移植性的要求。這種固定的場景開發(fā)可以使用SQL來處理業(yè)務邏輯。在將來,使用SQL處理業(yè)務邏輯時會出現(xiàn)一些應用場景,因此有必要學習如何編寫存儲過程。
java業(yè)務邏輯,寫在哪里比較好?
現(xiàn)在很多公司的開發(fā)人員都應該采用MVC架構。
MVC是所謂的模型、視圖、控制器。
每一層都有明確的分工。
對于簡單的項目,不管nignx如何,網(wǎng)關通常都會將請求從前端發(fā)送到后端,首先發(fā)送到控制器,然后發(fā)送到服務層,然后發(fā)送到Dao層。
這里的服務層就是所謂的業(yè)務層,專門負責業(yè)務處理操作,而Dao層則負責處理數(shù)據(jù)庫,將數(shù)據(jù)庫中的數(shù)據(jù)帶回服務,經(jīng)過服務處理后返回控制器層??刂破魍ㄟ^視圖解析器解析頁面,并通過瀏覽器呈現(xiàn)頁面。
基本上,我認為答案是顯而易見的。也就是說,Java業(yè)務邏輯是在服務層編寫的。
事實上,服務層涉及接口和接口實現(xiàn)。
在編寫代碼時,我們通常為控制器定義一個調(diào)用接口。
實際上,服務接口的實現(xiàn)類應該是編寫業(yè)務邏輯的地方。
當然,許多公司可能有多個服務層,例如,有一個管理層繼續(xù)對數(shù)據(jù)進行特殊的業(yè)務處理。這里只是一個簡單的概述。
每個公司的每個項目根據(jù)其自身業(yè)務可能有不同的體系結構。但本質(zhì)是一樣的。
綜上所述,業(yè)務邏輯必須作為一個獨立的層來處理,這樣便于擴展和維護。記住不要在控制器中編寫所有業(yè)務邏輯。
每一層都有自己的分工,是捏合在一起的。代碼不僅冗長,而且雜亂無章。
好吧,我希望我的回答能幫助你
!如果你有興趣,可以關注一下,一起學習交流
Java開發(fā)寫業(yè)務邏輯代碼難不難,是自己創(chuàng)造還是根據(jù)文檔說明書?
感謝您的邀請
!編寫業(yè)務邏輯代碼通常是Java程序員的主要工作,大部分業(yè)務邏輯代碼并不是太難,只要是按照業(yè)務規(guī)則編寫即可。
Java代碼編寫涉及多個角色,不同的角色有不同的任務劃分。通常,項目的功能設計完成后,架構師會開始進行架構設計和頂層界面設計,包括項目的結構劃分和技術選擇。
大多數(shù)軟件開發(fā)項目分為兩部分,一部分是“容器開發(fā)”,這是整個系統(tǒng)開發(fā)的核心。主要的基本功能封裝在容器中,另一個是“應用程序開發(fā)”。應用程序開發(fā)是根據(jù)業(yè)務邏輯規(guī)則編寫具體的功能,通常需要調(diào)用容器提供的基本功能即可通過接口完成。從這個角度看,業(yè)務邏輯代碼的編寫屬于面向應用的開發(fā),所以難度不是太大。
通常,容器開發(fā)的程序員就是所謂的“研發(fā)級程序員”。容器開發(fā)的內(nèi)容包括系統(tǒng)級功能、資源管理、并發(fā)管理、角色管理等。開發(fā)內(nèi)容包括大量的算法設計和實現(xiàn)。同時還要考慮系統(tǒng)的穩(wěn)定性和性能。這部分開發(fā)內(nèi)容需要豐富的經(jīng)驗同時,程序員需要具備一定的研發(fā)能力和研究方法。
進行應用程序級開發(fā)的程序員通常會調(diào)用容器為特定功能組織提供的函數(shù)。大多數(shù)程序員從應用程序級開發(fā)開始。雖然這些程序員的工作并不困難,但他們有更多的內(nèi)容。因為很多業(yè)務邏輯需要應用級程序員來完成,所以工作壓力比較大。
目前,隨著軟件開發(fā)流程的逐步規(guī)范化,大多數(shù)應用級程序員都會有相應的開發(fā)任務文檔,只要按照任務文檔進行開發(fā)和提交,日常任務就相對清晰。
Go會成為下一個企業(yè)級編程語言嗎?
目前,可能性不大。至于未來是否可能,則要看谷歌能否繼續(xù)支持圍棋。目前,圍棋語言的開發(fā)人員說,它是簡單,快速,安全,并發(fā),快樂編程和開源。然而,圍棋語言缺乏方向性和“集成商”的嘗試,很容易導致圍棋學不到貓和狗,圍棋語言將減少到四種。
Java似乎永遠不會過時。盡管Java最初是在20世紀90年代為交互式電視設計的,但今天的Java為企業(yè)應用程序、Android移動應用程序開發(fā)和所有其他功能提供了動力。
Java本身的跨平臺、安全性、健壯性、簡單性非常適合企業(yè)開發(fā)。此外,這些年來,各種組織貢獻了各種生態(tài)環(huán)境,比如各種開源框架,比如spring family bucket。Java在今天取得了巨大的成就,spring無疑做出了很大的貢獻。據(jù)不完全統(tǒng)計,世界上運行Java程序的設備有幾十億臺。
Java最大的問題是臃腫的框架。以前配置一個開發(fā)環(huán)境需要半天的時間?,F(xiàn)在springboot在一定程度上改善了這種情況。
總之,Java優(yōu)勢突出,生態(tài)完善,技術成熟。雖然go非常好,但要在短時間內(nèi)取代Java是不可能的。
html5(web前端)和Java哪個好?
目前,web前端和java開發(fā)的就業(yè)機會都比較多,發(fā)展空間也比較大。至于哪個更好,應該根據(jù)學習者自身的知識結構、能力特點和發(fā)展規(guī)劃來判斷。
Web前端開發(fā)的知識結構主要集中在顯示端。雖然目前隨著nodejs的應用,前端的開發(fā)也會涉及到一些后端的開發(fā)內(nèi)容,但總體來說,前端開發(fā)的邏輯并不復雜,重點是可用性的提高。因此,如果邏輯思維能力比較普遍,而計算機基礎知識相對薄弱,可以重點向前端發(fā)展。
對于前端開發(fā)人員來說,如果他們想提高自己的工作競爭力,可以考慮走整個堆棧開發(fā)路線。雖然前端開發(fā)本身有一定的局限性,但隨著云計算、大數(shù)據(jù)和物聯(lián)網(wǎng)相關技術的推廣,前端開發(fā)還有很大的上升空間。目前,前端開發(fā)人員的數(shù)量有了很大的提高。在一些開發(fā)團隊中,前端開發(fā)人員的比例已經(jīng)超過了后端開發(fā)人員的比例。
Java語言是目前最流行的全場景編程語言之一,廣泛應用于web開發(fā)、移動互聯(lián)網(wǎng)開發(fā)、大數(shù)據(jù)開發(fā)等場景。Java語言由于其完善的語言生態(tài)和強大的功能可擴展性,在未來仍有很大的發(fā)展空間。與前端開發(fā)相比,Java語言的學習難度有了一定的提高。因為Java語言是一種純面向?qū)ο蟮恼Z言,所以它具有高度的抽象性。