搜尋
首頁Javajava教程Java企業級專案的開發思路

Java企業級專案的開發思路

Sep 30, 2017 am 10:07 AM
java企業級思路

Java企業級專案開發想法。偶遇,讀有所得,遂分享給大家,本文不涉及案例,只談思想和理念,需要的朋友可以參考。

什麼是企業級專案開發

  "企業級專案"、企業級專案開發,Java 也是企業級專案開發,這個我們到處說、聽,每天被我們掛在嘴邊,可是到底什麼項目才算是"企業級"?自己一直做的小專案或大專案到底算得上企業級嗎?也就GXPT算是企業級專案吧,接下來跟大家交流學習吧!

1 . 專案開發的現況

  一直以來,大小專案在咱們提高班做了算是不少的了,我們都在不停得做項目,趕項目。相信從大家開始做專案到現在,做過了很多大大小小的項目,或多或少也有讓自己很引以為傲的成功了的項目。現在大家回頭想想,我們的專案通常是怎麼做出來的!即便是每個開發小組是不同的,但是在專案的期限、客戶需求變更中、各個督促下,我們的起碼的實現、整體的設計還是差不多的,大同小異吧,拓展性、靈活性差了些。

  每次專案到來,幾次會議之後,專案就開始了,開始分配人員,開始分析一些從客戶那裡拿來的需求,然後一些骨幹的開發人員就開始為專案搭架子。於是一個專案就算是進行起來了。談到了為專案搭架子,專業點說就是做架構了,說是做架構,其實就是把專案依照慣例分割成幾個邏輯層,至於說這個架構好不好,有什麼風險,是否可以適應以後的變化,採用的技術的風險和可行性分析,這些很少考慮,原因很簡單:一般的都是這麼開發的,應該沒有什麼大的問題。確實,很多的專案也確實是這樣的開發的,而且很多也成功了。這些無可厚非,至於說什麼標準不標準,是否遵循了什麼開發的原則,沒有多少人在乎,不管怎樣,專案是成功了。

  專案開發中,很多的原則我們是很清楚:什麼單一職責,依賴反轉,什麼可測試性,維護性.....很多時候,在coding的時候,這些原創反倒成了多餘,專案最後成為了功能代碼的堆積,特別是在趕專案的過程中,程式碼堆積的效果就更加明顯了:只要把功能搞定,其他的以後再說。可以往往這個"以後再說"就成為了"永不再說"、湊合著能實現就行了,這個也無可厚非。

  就這樣,一年又一年,開發項目,做項目,趕項目。主鍵的許多人隨著專案的進行對做軟體開發後期會變得沒有那麼多興趣:原本以為軟體開發是一種高智商的活動,現在發覺有點像是體力活。一年一年,一月月的,我們為一個不同的客戶開發出一個不同的系統。

 透過資料顯示:公司中…

  相信很多公司也常常提出很多很"誘人"的口號:透過做大量的項目,累積和開發通用組件,組件越多,以後開發就是僅僅只是堆積木了....但是真正的項目中,客戶不停在催,上頭也在催,最後就沒有人顧及什麼通用不通用了。專案開發是越做越累,相信這也是許多開發人員轉行轉型的原因之一。  

2. 什麼是企業級專案

  學Java這個接觸的越來越近了,時常思考這個問題?企業級專案是什麼? 為一個企業,機構,客戶公司開發的專案就算得上是企業級專案了嗎?一個很大的專案就是企業級專案嗎?一個小的專案就算不上是企業級專案?一個程式碼成千上萬上十萬的程式碼是企業級專案嗎?茫然!

  其實,一直以來,我個人也對什麼是"企業級"的概念不是很清晰。只是天天在這麼說,米老師也灌輸我這樣企業級開發的思想,剛開始還是真有點滿然,聽著挺高深哈。

   說到企業級項目,隨著而來的有很多概念:企業級架構,企業級開發。

  但是不管怎麼說:企業級這個概念和專案的大小是沒有什麼很大的關係的,甚至可以說是幾乎沒有什麼關係。

  其實企業級專案其實就是一帶著一種"企業級"的想法來做專案。

  在文章中的第一部分,我們到了現在我們做專案的方式:程式碼的功能"堆積"。透過這種堆積出來的程式碼就只是用於這一個項目,對於以後其他的項目幾乎是沒有什麼用處的,也就說代碼的重用行不夠,而且往往在一個項目中,很多的代碼都是雜七雜八的,很多相似的功能都是各自搞出一套程式碼。諸如之類的問題,導致專案越做越類,很多美麗的口號化為泡沫。

企業級的專案起碼有以下幾個特徵:

  穩定性

  彈性

  隔離性

  重用性

  維護性

#  相信這些特性大家都不陌生,這些特性我就不具體的解析,大家都清楚。說了這些多,可能大家認為我說的是廢話,但是有一點可以說的:現在我們開發專案確實很多的時候忽略了這些東西,因為這個忽略,確實使得專案專案的開發加快,但是從長期的來看,專案開發還是越來越累的。如果在開發的時候,每次帶著一點點這樣的思考,盡量寫出符合那些特性的程式碼,慢慢的,一種"企業級的心智"就慢慢出來了,一個很類似的比喻:在專案中,遇到了一個很難的技術問題,我們往往花很多的時間來攻克,最後終於搞定。確實這個攻克的過程我們從思維上可以這樣分析:我們思維和問題的答案之間隔了一道牆,我們一次次的嘗試各種解決方案去攻克問題的時候,我們的思維一次次的在撞擊這道牆,最後牆被撞破,我們也得到了問題的解決方案。

  同理,我們在專案中帶著"企業級"思維,我們就在一點點的撞擊那道"牆",最後的結果就是:通用的功能被封裝為了通用的組件,為以後的項目的留下累積。

總結

  這裡我自己的感觸,本人的"企業級的心智"也沒有,逐步的累積吧,但是因為帶著這個思想作項目,在人事的維護、永和的維護、善良公社的開發、考試系統中出現問題的修復都深刻體會到了,企業級的思想可以很好地解決實際中遇到的程式碼重複修改、網站重新發布、功能的靈活、組件的靈活添加,透過通用性網站網站米老師也是一遍一遍耐心的給我深化這種開發的理念,個人認為思想有了提升,而且還真的得到了不少通用的組件,雖然說組件善待完善,但是已經有了些甜頭。對系統後期的維護的成本也是大大的降低,企業級開發思想在Java學習中面面俱到啊,GXPT中師哥們也利用這種企業級開發的理念在大顯身手啊。

以上是Java企業級專案的開發思路的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
JVM中的類加載程序子系統如何促進平台獨立性?JVM中的類加載程序子系統如何促進平台獨立性?Apr 23, 2025 am 12:14 AM

類加載器通過統一的類文件格式、動態加載、雙親委派模型和平台無關的字節碼,確保Java程序在不同平台上的一致性和兼容性,實現平台獨立性。

Java編譯器會產生特定於平台的代碼嗎?解釋。Java編譯器會產生特定於平台的代碼嗎?解釋。Apr 23, 2025 am 12:09 AM

Java編譯器生成的代碼是平台無關的,但最終執行的代碼是平台特定的。 1.Java源代碼編譯成平台無關的字節碼。 2.JVM將字節碼轉換為特定平台的機器碼,確保跨平台運行但性能可能不同。

JVM如何處理不同操作系統的多線程?JVM如何處理不同操作系統的多線程?Apr 23, 2025 am 12:07 AM

多線程在現代編程中重要,因為它能提高程序的響應性和資源利用率,並處理複雜的並發任務。 JVM通過線程映射、調度機制和同步鎖機制,在不同操作系統上確保多線程的一致性和高效性。

在Java的背景下,'平台獨立性”意味著什麼?在Java的背景下,'平台獨立性”意味著什麼?Apr 23, 2025 am 12:05 AM

Java的平台獨立性是指編寫的代碼可以在任何安裝了JVM的平台上運行,無需修改。 1)Java源代碼編譯成字節碼,2)字節碼由JVM解釋執行,3)JVM提供內存管理和垃圾回收功能,確保程序在不同操作系統上運行。

Java應用程序仍然可以遇到平台特定的錯誤或問題嗎?Java應用程序仍然可以遇到平台特定的錯誤或問題嗎?Apr 23, 2025 am 12:03 AM

Javaapplicationscanindeedencounterplatform-specificissuesdespitetheJVM'sabstraction.Reasonsinclude:1)Nativecodeandlibraries,2)Operatingsystemdifferences,3)JVMimplementationvariations,and4)Hardwaredependencies.Tomitigatethese,developersshould:1)Conduc

雲計算如何影響Java平台獨立性的重要性?雲計算如何影響Java平台獨立性的重要性?Apr 22, 2025 pm 07:05 PM

云计算显著提升了Java的平台独立性。1)Java代码编译为字节码,由JVM在不同操作系统上执行,确保跨平台运行。2)使用Docker和Kubernetes部署Java应用,提高可移植性和可扩展性。

Java的平台獨立性在廣泛採用中扮演著什麼角色?Java的平台獨立性在廣泛採用中扮演著什麼角色?Apr 22, 2025 pm 06:53 PM

Java'splatformindependenceallowsdeveloperstowritecodeonceandrunitonanydeviceorOSwithaJVM.Thisisachievedthroughcompilingtobytecode,whichtheJVMinterpretsorcompilesatruntime.ThisfeaturehassignificantlyboostedJava'sadoptionduetocross-platformdeployment,s

容器化技術(例如Docker)如何影響Java平台獨立性的重要性?容器化技術(例如Docker)如何影響Java平台獨立性的重要性?Apr 22, 2025 pm 06:49 PM

容器化技術如Docker增強而非替代Java的平台獨立性。 1)確保跨環境的一致性,2)管理依賴性,包括特定JVM版本,3)簡化部署過程,使Java應用更具適應性和易管理性。

See all articles

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱工具

SublimeText3 Linux新版

SublimeText3 Linux新版

SublimeText3 Linux最新版

Atom編輯器mac版下載

Atom編輯器mac版下載

最受歡迎的的開源編輯器

SecLists

SecLists

SecLists是最終安全測試人員的伙伴。它是一個包含各種類型清單的集合,這些清單在安全評估過程中經常使用,而且都在一個地方。 SecLists透過方便地提供安全測試人員可能需要的所有列表,幫助提高安全測試的效率和生產力。清單類型包括使用者名稱、密碼、URL、模糊測試有效載荷、敏感資料模式、Web shell等等。測試人員只需將此儲存庫拉到新的測試機上,他就可以存取所需的每種類型的清單。

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)