成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

Java開發(fā)中類隱藏及應用場景分析

開發(fā) 后端
在JAVA開發(fā)語言平臺中,對于什么類需要隱藏,什么類不需要隱藏,往往沒有很嚴格的要求。為此程序開發(fā)人員需要根據(jù)自己的工作經(jīng)驗來進行判斷。來看本文。

Java開發(fā)中類隱藏及應用場景分析,隱藏是JAVA語言平臺中提出來的一個新名詞。其次在其他語言平臺上,也有類似的說法,只是稱呼不一樣而已。但是隱藏的功能對于應用程序開發(fā)來說,特別是大型應用程序設計,非常的有用。作為一名合格的JAVA平臺程序開發(fā)人員,應該結合JAVA語言提供的三個關鍵字,來實現(xiàn)類的隱藏。

一、類隱藏的基本建議

雖然在JAVA語言中要實現(xiàn)類的隱藏非常簡單,只需要通過三個關鍵字即可以完成。但是在大部分情況下,讓JAVA程序員感到疑惑的是,在什么時候該把什么類隱藏。確實,在JAVA開發(fā)語言平臺中,對于什么類需要隱藏,什么類不需要隱藏,往往沒有很嚴格的要求。為此程序開發(fā)人員需要根據(jù)自己的工作經(jīng)驗來進行判斷。而即使有一定程序開發(fā)經(jīng)驗的員工,也不一定能夠在這個問題上給出很好的答案。公說公有理,婆說婆有理,為此很難有一個統(tǒng)一的標準。筆者下面幾個建議,也是對自己這幾年來JAVA開發(fā)工作的總結。希望這些建議能夠幫助大家解惑。

1、不同模塊之間的類要相互隱藏。

現(xiàn)在不少應用系統(tǒng),為了提高開發(fā)效率,都提出了模塊化的設計理念。如最近比較流行的ERP系統(tǒng),如果按模塊來進行設計的話,則在開發(fā)時不同的人員可以負責各自的模塊,而互不干涉。在ERP系統(tǒng)出售的時候,也可以按模塊來進行出售,因為各個模塊的功能是相對獨立的。當然這只是從管理層面來說模塊化設計的重要性,不過這不是我們今天要談論內容的重點。

今天要談的是,如果應用系統(tǒng)按模塊化來進行設計,那么不同模塊之間的內如何實現(xiàn)隱藏呢?其實很簡單。如供應商基本信息維護、供應商進貨單、應付帳款分屬于三個不同的模塊,分別為采購管理、庫存管理與應收應付管理。現(xiàn)在在設計應收應付這個模塊時其中有一個生成應付帳款的類,其需要用到采購管理模塊中供應商的信息(付款條件等等)、倉庫管理模塊中的供應商進貨單據(jù)(產品編號、數(shù)量、到貨日期等等),然后才能夠生成準確的應付帳款。那么在應用程序設計的時候該如何實現(xiàn)呢?是在那個應付帳款作業(yè)對應的類中直接從數(shù)據(jù)庫中去查詢這些信息嗎,又或者去修改采購模塊中對應的類來實現(xiàn)?這雖然都可以達到預定的目的,但是都不是上上之策。

個人認為,最好的方法就是程序開發(fā)人員先設計一個類(如Vender類),這個類會返回供應商編號、付款條件等信息。然后應付帳款作業(yè)中的類就直接調用這個類獲取需要的信息。一方面可能很多地方都需要用到這些信息,如果每次需要的時候都利用SQL代碼來獲取這些信息的話,那么代碼量也會很大。相反直接調用類來實現(xiàn)這些信息反而更加的方面。另一方面,這個Vender類對于其他類是隱藏的。

也就是說,其他類只能夠通過預定義的接口向這個類傳遞參數(shù)并直接引用其返回的結果,而不能夠修改類內部的元素。如此即使其他有十幾個類或者應用程序需要調用這個類的時候,其只要輸入的參數(shù)相同,則其返回的結果也就相同。那么其他類在引用返回結果的時候,就不用擔心不兼容了。所以,應用程序的模塊化設計促使JAVA程序要實現(xiàn)類與類之間的隱藏;同時JAVA類相互之間隱藏的特性也方便了應用程序的模塊化設計。

2、數(shù)據(jù)類型類與其他類之間需要實現(xiàn)隱藏。

在任何一個應用程序開發(fā)過程中,都需要根據(jù)企業(yè)的需要設計一些比較有針對性的數(shù)據(jù)類型。因為光靠應用程序所提供的那些數(shù)據(jù)類型往往不能夠滿足程序開發(fā)人員的需要。如需要設計一些數(shù)組、記錄等等數(shù)據(jù)類型。

但是在設計這些數(shù)據(jù)類型的時候,程序人員就需要了一個難題。如現(xiàn)在在開發(fā)ERP系統(tǒng)的過程中,多個模塊(每個模塊由不同的程序員負責)都需要用到同一個記錄數(shù)據(jù)類型。那么是每個程序員都設計一個記錄類型的數(shù)據(jù)類型,還是共用同一個數(shù)據(jù)類型呢?如果各管各的,就需要建立多個記錄類型的數(shù)據(jù)類型,管理起來比較麻煩,對后續(xù)升級也會遇到障礙。而如果大家共用一個記錄類型的數(shù)據(jù)類型,大家又擔心其他程序人員不小心修改了這個數(shù)據(jù)類型而給他們造成了麻煩。這之間難道就沒有和平的共存方式了呢?其實,在應用程序開發(fā)的過程中可以認為的將應用程序開人人員分為數(shù)據(jù)類型創(chuàng)者者與業(yè)務邏輯開發(fā)者。

然后數(shù)據(jù)類型開發(fā)者可以根據(jù)其他開發(fā)人員的需要創(chuàng)建一些定義數(shù)據(jù)類型的類,這些類的話對于其他程序開發(fā)人員開發(fā)的類是隱藏的。也就是說,其他類不能夠對這個數(shù)據(jù)類型進行修改。那么即可以提高這些數(shù)據(jù)類型的利用率,而且也可以保證其他類可以以固定的格式引用這些類。

3、業(yè)務層與表示層之間的類要相互隱藏。

利用過J2EE開發(fā)平臺的人肯定知道,在開發(fā)應用程序的時候,業(yè)務邏輯層與表示層之間是相互獨立的。業(yè)務邏輯層主要實現(xiàn)一些負責的運算,如物料需求計劃運算。而表示層的話只負責一些具體的顯示。如通過瀏覽器客戶端來顯示結果還是通過軟件窗口來顯示運算結果。

雖然客戶端所采用的方式不同,但是其內部的運算是相同的。此時最好把實現(xiàn)業(yè)務邏輯層的類與實現(xiàn)表示層的類相互隱藏起來。因為在實際開發(fā)過程中,他們往往是由不同的程序開發(fā)人員完成的。為了避免不同程序開發(fā)人員之間的相互干擾,避免表示層的開發(fā)人員無意中修改了業(yè)務邏輯層的JAVA類,就必須要把業(yè)務邏輯層的類隱藏起來。

也就是說,表示層開發(fā)人員只需要知道業(yè)務邏輯層的類需要哪些參數(shù)、能夠以什么樣的形式返回結果即可。然后表示層的類在調用業(yè)務邏輯層中的類的時候,只需要按照要求輸入?yún)?shù)、按照規(guī)則獲取結果即可,而不需要關注其業(yè)務邏輯層類內部的實現(xiàn)機制,從而減輕了表示層開發(fā)人員的工作量。同時也避免了業(yè)務層開發(fā)人員對這個類進行修改,從而其他的應用程序開發(fā)人員可以以同一種方式來引用這些類。

4、如果某個業(yè)務邏輯還不怎么完善時,要執(zhí)行隱藏。

在應用程序開發(fā)的過程中,可能某些業(yè)務邏輯暫時沒有很好的解決方案,但是需要的參數(shù)或者返回的結果是確定的。此時可以把這個業(yè)務邏輯建立一個的類,并對其他類進行隱藏。如此的話,當出現(xiàn)更好的解決方案之后,就可以直接更改這個類中的業(yè)務邏輯。由于類中成員對于其他程序人員是隱藏的,為此對類中的處理機制進行更改并不會影響到其他人員開發(fā)的應用程序。他們只關心你能夠在最短時間內獲得準確的結果。為此在遇到這種情況時,最好把類與其他的類執(zhí)行隱藏。

可見,哪些類需要相互隱藏可能判斷起來比較復雜。但是有一個普遍適用的原則,就是如果一個類有不同的程序人員需要引用。如用戶A設計了一個統(tǒng)計應收帳款余額的類,用戶B與C,包括用戶A都需要調用這個類。那么這個類就最好進行隱藏。防止其他類在調用這個類的時候,不小心修改了其內部的實現(xiàn)方式。這會對其他用戶調用這個類產生不利影響。

二、實現(xiàn)JAVA類隱藏的三個關鍵字

之所有要實現(xiàn)JAVA類隱藏,主要是讓任何程序開發(fā)人員都無法觸及他們不應該初期的部分(如業(yè)務邏輯或者數(shù)據(jù)類型的內部操作)。雖然項目管理員可能在程序開發(fā)過程中多次告誡團隊成員不要直接操作其他開發(fā)人員所設計類中的成員。但是如果缺乏一定的控制手段,這些事情往往會在有意無意中發(fā)生。為此需要采取一些強制的手段來防止這些情況的發(fā)生。而且這些事現(xiàn)方式必須簡單,不能夠太過于復雜。在JAVA語言平臺中,就提供了Public、private、protected三個關鍵字來實現(xiàn)對類的隱藏與控制。

這些關鍵字決定了類或者類中的成員是否對其他類是隱藏的,能否被其他類進行操作與修改。如public關鍵字表示緊隨其后的元素對任何人都是可用的,可以被任何人所修改。而關鍵字Private則表示除了類創(chuàng)建者和這個類型的內部方法之外的任何人都不能夠進行訪問。而關鍵Protected的作用跟Private類似,只是其是作用在繼承中的。

可見在JAVA程序開發(fā)中,要實現(xiàn)類的隱藏是很簡單的,也是JAVA程序員必須要掌握的一項基本功。而其難度就在于在適當?shù)臅r候實現(xiàn)類和類中成員的隱藏。這就要程序員在程序開發(fā)過程中好好琢磨了。上面提到的一些建議可供大家做參考。
 

【編輯推薦】

  1. 新手入門JavaWeb三層架構的配置詳解
  2. JavaScript開發(fā)規(guī)范要求
  3. Java垃圾收集器使用小訣竅
  4. Javascript中閉包的作用域鏈
責任編輯:于鐵 來源: 幫考網(wǎng)
相關推薦

2009-05-18 13:07:44

類隱藏Java關鍵字

2010-06-30 17:02:07

靜態(tài)路由

2010-08-31 19:45:26

DHCP server

2011-06-28 07:45:00

開發(fā)測試云微軟研究院云計算案例

2013-09-09 15:55:12

SDN應用場景

2020-08-14 10:00:34

Node前端應用

2023-01-28 07:59:24

2024-11-12 06:27:16

Python列表元組

2018-05-25 13:04:21

UES應用場景

2015-08-03 13:36:40

Docker技術優(yōu)勢應用場景

2011-05-17 15:24:18

Shibboleth認證

2018-05-28 08:28:24

云計算應用場景

2023-01-09 07:38:07

2019-03-27 15:35:35

大數(shù)據(jù)招聘互聯(lián)網(wǎng)

2015-08-04 17:45:54

Docker應用

2012-10-23 09:32:07

2011-07-22 16:43:37

java

2009-06-05 10:43:29

struts2 checheckbox實例

2020-09-04 13:30:43

Java自定義代碼

2011-03-07 15:24:17

LBS
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 亚洲精品91| 拍真实国产伦偷精品 | 99精品一区二区三区 | 人人人干 | 毛片网站在线观看 | 99热视| 精品1区2区3区| 日韩av中文 | 欧美日韩视频在线播放 | 免费国产一区 | 免费视频一区二区三区在线观看 | 色香蕉在线 | 手机看黄av免费网址 | 日韩精品久久久久 | 亭亭五月激情 | 中文字幕亚洲视频 | 久久久久久久久91 | 中文在线视频 | 国产高清一区二区三区 | 国产精品久久国产精品99 gif | 成人av大全 | 天天色综 | 99久久精品免费看国产四区 | 精品国产一区久久 | 在线视频一区二区 | 欧美日韩在线精品 | 男人的天堂中文字幕 | 中文字幕国产一区 | 草草影院ccyy| 成人在线视频免费观看 | 国产女人与拘做视频免费 | 日韩精品成人 | 午夜婷婷激情 | 成人影视网址 | 成人亚洲精品 | 成人国产综合 | 亚洲成人一区 | 男人的天堂在线视频 | 日韩欧美三区 | h视频免费观看 | 精品福利在线 |