偷偷摘套内射激情视频,久久精品99国产国产精,中文字幕无线乱码人妻,中文在线中文a,性爽19p

剖析J-Hi對組件化的理解

開發(fā) 后端
在軟件世界里組件這個概念真是千差萬別,每個系統(tǒng)與工具軟件對組件都有各自不同的定義。尤其在Java世界里更是如此,小的從一個頁面元素一直到大的一個業(yè)務(wù)功能系統(tǒng),在各自的領(lǐng)域都會給它們定義為組件。

按照《計算機(jī)百科全書》給組件的定義:是軟件系統(tǒng)中具有相對獨(dú)立功能、接口由契約指定、和語境有明顯依賴關(guān)系、可獨(dú)立部署、可組裝的軟件實(shí)體。由此定義我們來談一下J-Hi Java快速開發(fā)平臺對組件的理解與解決方案。

實(shí)際上說到底無非是對組件顆粒的劃分問題,在不同的條件與環(huán)境下組件的作用與功能會有很大差異,其次在定義組件時要保證功能的相對獨(dú)立并且可組裝可部署,由此J-Hi將組件根據(jù)用途與范圍的不同劃分為如下四類組件類型:技術(shù)組件、實(shí)體組件、業(yè)務(wù)組件、系統(tǒng)組件,它們之間的關(guān)系是逐級遞進(jìn),互為基礎(chǔ)的。

 

 

在我們在深入探討之前,先來簡單的解釋一下上圖中各種組件類型之間的關(guān)系。比如一個OA系統(tǒng)我們就可以把這理解為一個系統(tǒng)組件,而多個系統(tǒng)組件(倉儲系統(tǒng)、人力系統(tǒng)等)可以動態(tài)搭建更大的應(yīng)用系統(tǒng)(ERP)。每個系統(tǒng)組件下會有多個業(yè)務(wù)組件,例如在OA系統(tǒng)下會有報銷單、會議管理等多個業(yè)務(wù)組件。因為大部分業(yè)務(wù)組件之間一般都是松藕合的,所業(yè)務(wù)組件可以無縫的遷移到其它的系統(tǒng)組件中,即實(shí)現(xiàn)業(yè)務(wù)組件可復(fù)用性。而在一個業(yè)務(wù)組件下會有一個或多個實(shí)體組件夠成,我們還以報銷單業(yè)務(wù)組件為例,在報銷單最少會有報銷單及報銷單明細(xì)兩個實(shí)體組件,一個實(shí)體您可以理解成與數(shù)據(jù)庫對應(yīng)的一張表,實(shí)體之間可以繼承、一個實(shí)體可以有多個子實(shí)體。但實(shí)體不僅僅是數(shù)據(jù)庫表,它包括從頁面到數(shù)據(jù)庫表之間的全部代碼實(shí)現(xiàn)同時包括CURD所有操作的功能單元。對于實(shí)體組件我們會在后面詳細(xì)討論。***是技術(shù)組件,在J-Hi中技術(shù)組件可以說是一個抽象的概念,一個技術(shù)組件就是一個技術(shù)功能單元,它可能是一套生成模版,一個框架的支持,一套API(比如對短信、全文檢索的支持等)

實(shí)體組件:J-Hi將一個實(shí)體組件定義為一個集合單元,它不僅僅包括數(shù)據(jù)庫表還包括對該數(shù)據(jù)庫表的基礎(chǔ)操作(增、刪、查、改);包括前端的展示面頁;包括該實(shí)體的權(quán)限、菜單、配置信息;還包括它與其它實(shí)體的交互操作。當(dāng)然一個實(shí)體組件顆粒度還是太小,還不能完整的描述一個業(yè)務(wù)功能。但實(shí)體組件相對來說有一定的獨(dú)立性,可以集成一個集合單元,J-Hi就是以實(shí)體組件為基礎(chǔ)實(shí)現(xiàn)更大粒度的集成,從而實(shí)現(xiàn)對一個完整業(yè)務(wù)的描述。

 

 

業(yè)務(wù)組件:實(shí)際上一個業(yè)務(wù)組件J-Hi將它對應(yīng)于一個服務(wù),服務(wù)可以認(rèn)為是一個業(yè)務(wù)功能模塊,用以描述完整的業(yè)務(wù)模式,具體相對的業(yè)務(wù)獨(dú)立性。在服務(wù)內(nèi)代碼間是高聚集的,因為一個服務(wù)就是一套完整的業(yè)務(wù),在設(shè)計服務(wù)時應(yīng)盡***限度的降低服務(wù)與服務(wù)之間的藕合度。因為在這個樣一個理論基礎(chǔ)上去設(shè)計,就可以實(shí)現(xiàn)業(yè)務(wù)組件無縫的在各系統(tǒng)之間的可移植性。因為組件的定義還要可以獨(dú)立的組裝與部署,因此我們開發(fā)平臺的附屬性產(chǎn)品——Hi平臺產(chǎn)品集成工具,它主要是由發(fā)布器與部署器組成,以更方便的實(shí)現(xiàn)業(yè)務(wù)組件的遷移。

 

 

 

 

開發(fā)發(fā)布器與部署器的目的就是通過可視化的方式,實(shí)現(xiàn)跨數(shù)據(jù)庫數(shù)據(jù)與跨應(yīng)用系統(tǒng)的業(yè)務(wù)組件遷移??梢詫I(yè)務(wù)組件看作一個獨(dú)立的業(yè)務(wù)單元,可以無縫的集成于任何以J-Hi平臺開發(fā)的項目中去。從而真正達(dá)到隨需組合,動態(tài)搭建實(shí)際的業(yè)務(wù)系統(tǒng),真正的實(shí)現(xiàn)業(yè)務(wù)組件的復(fù)用,降低不必要的重復(fù)開發(fā)。

系統(tǒng)組件:從業(yè)務(wù)功能上來看系統(tǒng)組件不過是多個業(yè)務(wù)組件的拼接,更大一級的業(yè)務(wù)封裝。理論上系統(tǒng)組件與系統(tǒng)組件之間應(yīng)滿足絕對的隔離性,即使是有通信,應(yīng)該也是通過第三方來進(jìn)行數(shù)據(jù)交互(常用的解決方式有兩種一種是中間數(shù)據(jù)庫;第二種是webservice)。但如果是基于平臺開發(fā),這種無謂的工作量可以降低很少,甚至可以不需要第三方的交互技術(shù)。只要保證兩個系統(tǒng)間的通信接口就要以輕松實(shí)現(xiàn)。系統(tǒng)組件的遷移也可以通過發(fā)布器與部署器來實(shí)現(xiàn)。

技術(shù)組件:從技術(shù)角度來看,J-Hi與其它的技術(shù)組件差別不大。無非是基于平臺再開發(fā)一些技術(shù)組件,比如對 SpringMVC、SpringJDBC、DB2數(shù)據(jù)庫等的支持,頁面端也會再集成象DWZ或simpleframework,我們也會再提供更多的頁面端的生成模版,以此類推,平臺的技術(shù)組件會在技術(shù)的不同層面進(jìn)行擴(kuò)展。但與其它的技術(shù)組件不同之處在于,實(shí)現(xiàn)類似于插件一樣的可插拔,隨需織入。

【編輯推薦】

  1. 淺談J-Hi查詢過濾器的實(shí)現(xiàn)原理
  2. 論J-Hi平臺的特點(diǎn)
  3. Java快速開發(fā)平臺:J-Hi
  4. Java開發(fā)平臺中的生命周期管理
責(zé)任編輯:金賀 來源: JavaEye博客
相關(guān)推薦

2011-03-10 09:17:38

J-Hi

2011-03-22 16:05:59

J-Hi

2011-03-22 09:33:39

J-Hi

2011-03-08 13:49:13

J-HiJava

2011-03-22 09:43:06

J-Hi

2011-03-17 15:59:24

J-Hi

2011-03-14 09:57:09

J-Hi

2011-05-06 09:27:49

J-Hi

2011-05-05 09:37:35

J-Hi

2011-03-22 09:49:25

J-Hi

2015-01-09 09:47:11

私有云部署公有云云遷移

2010-09-29 11:23:53

unicodeJ2ME

2022-09-28 16:37:59

SpringMVC框架

2021-04-26 15:19:02

鴻蒙HarmonyOS應(yīng)用

2013-12-25 09:34:26

Android SDKAndroid組件

2009-06-22 13:40:00

RubyJava

2010-08-05 10:16:14

Flex效果

2023-11-28 12:25:02

多線程安全

2022-06-30 09:10:33

NoSQLHBaseRedis

2022-09-05 22:22:00

Stream操作對象
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號