java更改包名称_更改Java包名称如何改变我的系统架构
生活随笔
收集整理的這篇文章主要介紹了
java更改包名称_更改Java包名称如何改变我的系统架构
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
java更改包名稱
即使只是少量更改角度,也可能對您如何使用系統(tǒng)產生深遠影響。 假設您正在用Java編寫Web應用程序。 在系統(tǒng)中,您處理訂單,客戶和產品。 作為一個Web應用程序,您的類包括諸如Controller,PersonRepository,CustomerController和OrderService之類的訂書釘。 您如何將課程組織成包? 有兩種基本的方法來構建軟件包。 您可以專注于邏輯層,例如com.brodwall.myapp.controllers,com.brodwall.myapp.domain或com.brodwall.myapp.services.customer。 或者,您可以專注于域上下文,例如com.brodwall.myapp.customer,com.brodwall.myapp.orders和com.brodwall.myapp.products。 迄今為止,第一種方法最為普遍。 在我看來,它也是最沒有幫助的。 如果圍繞領域概念而不是技術層來構造軟件包,則可以通過以下幾種方式改變思維: 首先,也是最根本的,您的思維模型現(xiàn)在將與系統(tǒng)用戶的思維模型保持一致。 如果要求您實現(xiàn)典型功能,那么現(xiàn)在很可能將重點放在系統(tǒng)軟件包的嚴格子集中。 例如,向表單添加新字段將至少影響相應域概念的表示邏輯,實體和持久層。 如果您的軟件包按層組織,則此更改將影響您的整個系統(tǒng)。 一句話:圍繞功能而非技術組織的系統(tǒng)具有更高的一致性。 這個技術術語意味著一個類的大部分依賴項都位于該類的附近。 其次,隨著軟件的發(fā)展,圍繞領域概念進行組織將為您提供更多選擇。 當一個包包含數(shù)十個類時,您可能需要將其拆分為幾個包。 討論本身可以啟發(fā)人。 “也許我們應該將客戶地址類別分離到com.brodwall.myapp.customer.address包中。 它似乎有自己的生活。” “是的,也許我們可以在需要地址的其他地方使用相同的類,例如供應商?” “很酷,那么com.brodwall.myapp.address呢?” 或者,您可以確定應該將訂單狀態(tài)代碼和付款狀態(tài)代碼放在“ com.brodwall.myapp.order.codes”包中。 另一方面,您有什么選擇拆分com.brodwall.myapp.controllers? 您可以為客戶,訂單和產品創(chuàng)建子包,但是這些子包可能只具有一個或兩個類。 最后,也許是最有趣的是,對包使用領域概念可以使您根據(jù)具體情況改變設計。 也許您確實需要一個OrderService來協(xié)調訂單的付款和運輸,而ProductController僅需要帶有存儲庫的基本create-retrieve-update-delete功能。 一個ProductService只會給您帶來麻煩。 如果com.brodwall.myapp.services包中缺少ProductService,這可能會造成混淆,或者至少會給您帶來麻煩的感覺,那就是出現(xiàn)了問題。 另一方面,如果com.brodwall.myapp.product程序包中沒有Controller,則沒關系。 而且,大多數(shù)系統(tǒng)都有一些不錯的零件,而有些則不太好。 如果您的服務包對您不起作用,那么您將無能為力。 但是,如果“產品”程序包爛了,您可以將其丟棄并重新實現(xiàn)它,而不會使整個系統(tǒng)陷入混亂狀態(tài)。 通過將實現(xiàn)某個功能所需的類彼此放在一起,并與實現(xiàn)其他功能所需的類分開,開發(fā)人員在開發(fā)一個功能時可以務實和創(chuàng)新,而不會負面影響其他功能。 不利的一面是,大多數(shù)開發(fā)人員對應用程序中的某些技術更滿意,而對其他技術則較不滿意。 圍繞功能而非技術進行組織會迫使每個開發(fā)人員考慮更多的技術挑戰(zhàn)。 一些程序員將其視為學習的動力,而其他程序員似乎寧愿不必學習新知識。 如果花我的錢來創(chuàng)建功能,我就知道我想要什么樣的開發(fā)人員。 細微的變化會產生很大的影響。 通過圍繞功能組織軟件,您可以獲得一個更加一致的系統(tǒng),可以進行擴展。 它可能會給您的開發(fā)人員帶來挑戰(zhàn),但會降低實現(xiàn)功能所需的交接數(shù)量,并會挑戰(zhàn)開發(fā)人員改善他們正在處理的應用程序部分。 參考: Java 合伙人 Johannes Brodwall在“ 更大的盒子里的思考”博客中的更改Java包名稱如何改變了我的系統(tǒng)架構 。翻譯自: https://www.javacodegeeks.com/2012/07/how-changing-java-package-names.html
java更改包名稱
創(chuàng)作挑戰(zhàn)賽新人創(chuàng)作獎勵來咯,堅持創(chuàng)作打卡瓜分現(xiàn)金大獎總結
以上是生活随笔為你收集整理的java更改包名称_更改Java包名称如何改变我的系统架构的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 如何在Hibernate Search
- 下一篇: apache hive_通过6个简单的步