自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

件架構(gòu)設(shè)計構(gòu)件與中間件技術(shù)-構(gòu)件

開發(fā) 架構(gòu)
構(gòu)件框架是一種專用的體系結(jié)構(gòu)(通常圍繞一些關(guān)鍵的機制),同時,也是一組固定的作用于構(gòu)件層次機制的策略。 概念框架的互操作設(shè)計包括系統(tǒng)體系結(jié)構(gòu)連接的所有框架的互操作的規(guī)則。

構(gòu)件的定義

構(gòu)件的定義不同地方的不同人,對它有不同的解讀,解讀的方向可能有些不一樣,認(rèn)可度比較高的就是定義1.

  • 定義1:軟件構(gòu)件是一種組裝單元,它具有規(guī)范的接口規(guī)約和顯式的語境依賴。軟件構(gòu)件可以被獨立的部署并由第三方任意組裝。
  • 定義2:構(gòu)件是系統(tǒng)中有價值的,幾乎獨立的,且可替換的一個部分。它在良好定義的體系結(jié)構(gòu)語境內(nèi)滿足某清晰的功能。
  • 定義3:構(gòu)件是一個獨立發(fā)布的功能部分,可以通過其接口訪問它的服務(wù)。

構(gòu)件和傳統(tǒng)的對象比較,我們一般認(rèn)為構(gòu)件的粒度比對象要大,服務(wù)又比構(gòu)件要大一號。而構(gòu)件和對象具體有如下一些區(qū)別:

構(gòu)件的特性

對象的特性

模塊的特性

1.獨立的部署單元 2.作為第三方的組裝單元 3.沒有(外部的)可見狀態(tài)

1.一個實例單元,具有唯一的標(biāo)識 2.可能具有狀態(tài),此狀態(tài)外部可見 3.封裝了自己的狀態(tài)和行為

結(jié)構(gòu)化開發(fā)的產(chǎn)物

沒有外部的可見狀態(tài)就是,直接從外部不能訪問,一般提供統(tǒng)一訪問的入口。對象如果沒有封裝好的話,外部是可以訪問的,如果封裝好的話,也能做到統(tǒng)一入口訪問,這樣安全性和可靠性會更高。

構(gòu)件系統(tǒng)架構(gòu)的特性(了解,不怎么重要)

構(gòu)件系統(tǒng)體系結(jié)構(gòu)由一組平臺決策,一組構(gòu)件框架和構(gòu)件框架之間的互操作設(shè)計組成。

構(gòu)件框架是一種專用的體系結(jié)構(gòu)(通常圍繞一些關(guān)鍵的機制),同時,也是一組固定的作用于構(gòu)件層次機制的策略。 概念框架的互操作設(shè)計包括系統(tǒng)體系結(jié)構(gòu)連接的所有框架的互操作的規(guī)則。

構(gòu)件是一組通常需要同時部署的原子構(gòu)件,構(gòu)件和原子構(gòu)件之間的區(qū)別在于,大多數(shù)原子構(gòu)件永遠(yuǎn)不會單獨被部署,盡管它們可以被單獨部署。

一個原子構(gòu)件是一個模塊和一組資源。模塊是一組類和可能的非面向?qū)ο蟮慕Y(jié)構(gòu)體,比如過程或者函數(shù)。資源是一個類型化的項的固定集合。

資源可以包含代碼,進(jìn)而包含模塊,問題在于除了編譯器編譯一個模塊或包生成的資源外,還可能存在其他的資源。在純對象的方法中,資源是外部化的不可改變的對象。不可改變是因為構(gòu)件沒有持久化標(biāo)志,而且賦值不能被區(qū)分

構(gòu)件的復(fù)用

假設(shè)我們要利用構(gòu)件的思想開發(fā)一套系統(tǒng),首先我們要經(jīng)歷這樣一個流程:檢索于提取構(gòu)件--->理解于評價構(gòu)件--->修改構(gòu)件--->組裝構(gòu)件.

檢索于提取構(gòu)件

  • 檢索于提取構(gòu)件

一般是已經(jīng)有了一些構(gòu)件,但是標(biāo)準(zhǔn)化程度不是很高,此時需要先去找到構(gòu)件

然后把構(gòu)件提取出來

檢索和提取構(gòu)件有幾種方式

  • 基于關(guān)鍵字的檢索

系統(tǒng)在圖形用戶界面上將構(gòu)件庫的關(guān)鍵字呈樹形結(jié)構(gòu)直觀的展示給用戶,復(fù)用者通過對樹形結(jié)構(gòu)的逐級瀏覽,尋找需要的關(guān)鍵字并提取相應(yīng)的構(gòu)件.

  • 刻面檢索法

      該方法基于刻面分類法,由三步構(gòu)成,分別是構(gòu)造查詢,檢索構(gòu)件和對構(gòu)件進(jìn)行排序.優(yōu)點是易于查找相似構(gòu)件,但構(gòu)造查詢時比較麻煩.

  • 超文本檢索法

      復(fù)用者先給出一個或多個關(guān)鍵字,系統(tǒng)在構(gòu)件的說明文檔中進(jìn)行精確或模糊的匹配,匹配成功夠列出相應(yīng)構(gòu)件說明. 優(yōu)點是對用戶友好,但有時候難以在瀏覽過程中找到正確的那部分構(gòu)件.

提取構(gòu)件之后,需要理解和評價構(gòu)件

理解于評價構(gòu)件

檢索于提取構(gòu)件--->理解于評價構(gòu)件--->修改構(gòu)件--->組裝構(gòu)件.

  • 理解于評價構(gòu)件

要復(fù)用構(gòu)件,準(zhǔn)確的理解構(gòu)件是至關(guān)重要的.特別是您要使用或修改這個構(gòu)件時.

為達(dá)到目的,必須要求構(gòu)件的開發(fā)遵循公共標(biāo)準(zhǔn)

一般構(gòu)件庫的文檔中全面而準(zhǔn)確的說明了構(gòu)件的功能與行為,相關(guān)的領(lǐng)域知識,可適應(yīng)性約束條件和例外情形,可預(yù)見的修改部分及修改方法.

當(dāng)您理解這個構(gòu)件是怎么一回事了,它能不能達(dá)到我們的要求,是不是完全匹配我們的需求, 假設(shè)這個構(gòu)件不能完全滿足需求,有些功能有,有些沒有,此時就需要修改構(gòu)件了.

修改構(gòu)件

檢索于提取構(gòu)件*--->理解于評價構(gòu)件--->修改構(gòu)件--->組裝構(gòu)件.

  • 修改構(gòu)件

理想狀態(tài)是直接復(fù)用現(xiàn)成的構(gòu)件,但多數(shù)情況下,都必須對構(gòu)件進(jìn)行或多或少的修改,以應(yīng)對新需求.

為了減少構(gòu)件的修改工作量,要求開發(fā)人員盡量使構(gòu)件的功能,行為和接口設(shè)計更加抽象化,通用化和參數(shù)化.這樣,復(fù)用者可通過參數(shù)選取來調(diào)整構(gòu)件的功能或行為.如果仍不滿足需求,必須借助設(shè)計信息和文檔來修改構(gòu)件.

構(gòu)件庫中若無可修改使用的構(gòu)件,則按新需求開發(fā)構(gòu)件,并存入構(gòu)件庫.

當(dāng)所有的構(gòu)件都開發(fā)或修改完成之后,我們就可以把構(gòu)件組裝起來,完成我們的需求.

組裝構(gòu)件

檢索于提取構(gòu)件*--->理解于評價構(gòu)件--->修改構(gòu)件--->組裝構(gòu)件.

  • 組裝構(gòu)建

基于功能的組裝技術(shù)

基于功能的組裝技術(shù)采用子程序調(diào)用和參數(shù)傳遞的方式將構(gòu)件組裝起來.就是我們模塊于模塊之間的調(diào)用于組裝.

基于數(shù)據(jù)的組裝技術(shù)

  • 根據(jù)當(dāng)前軟件問題的核心數(shù)據(jù)結(jié)構(gòu)設(shè)計出一個框架,然后根據(jù)框架中各個節(jié)點的需求提取構(gòu)件并進(jìn)行適應(yīng)性修改,再將構(gòu)件逐個分配至框架中的適當(dāng)位置.后面,組裝方式仍然跟傳統(tǒng)方式一樣,也就是子程序調(diào)用于參數(shù)傳遞.

面向?qū)ο蟮慕M裝技術(shù)

  • 由于封裝和繼承的特性,面向?qū)ο蠓椒ū绕渌浖_發(fā)方法更適合支持軟件復(fù)用.如果滿足需求,直接復(fù)用,如果不滿足,必須以基類作為父類,生成對應(yīng)的子類,以滿足新系統(tǒng)的需求.

而在組裝過程中有可能會存在一些失配的問題,包括如下一些問題:

  • 由構(gòu)建引起的失配,包括由于系統(tǒng)對構(gòu)件基礎(chǔ)設(shè)施,構(gòu)件控制模型和構(gòu)件數(shù)據(jù)模型的假設(shè)存在沖突引起的失配。
  • 由連接子引起的失配,包括由于系統(tǒng)對構(gòu)件交互協(xié)議,連接子數(shù)據(jù)模型的假設(shè)存在沖突引起的失配
  • 由系統(tǒng)成分對全局體系結(jié)構(gòu)的假設(shè)存在沖突引起的失配等。

要解決失配問題,首先要檢測出失配問題,并在此基礎(chǔ)上通過適當(dāng)?shù)氖侄蜗龣z測出的失配問題。

小結(jié)

構(gòu)件的一些基本概念就大概這些,這些概念我們還是要結(jié)合實際情況去理解它,不然這么枯燥的知識海洋,當(dāng)我們時刻都用蠻力去遨游時,總會有精疲力竭之時。 學(xué)無止境,加油!

責(zé)任編輯:武曉燕 來源: 今日頭條
相關(guān)推薦

2023-04-28 08:23:51

軟件架構(gòu)設(shè)計

2011-05-24 15:10:48

2010-06-17 11:12:53

UML構(gòu)件

2009-06-16 10:53:01

JBoss中間件JBoss架構(gòu)

2023-01-26 19:36:10

中間件系統(tǒng)架構(gòu)

2021-02-11 08:21:02

中間件開發(fā)CRUD

2011-10-24 07:41:38

SOA中間件應(yīng)用服務(wù)器

2019-11-12 08:40:03

RocketMQ架構(gòu)

2018-07-29 12:27:30

云中間件云計算API

2018-02-01 10:19:22

中間件服務(wù)器系統(tǒng)

2016-11-11 21:00:46

中間件

2014-06-05 14:41:20

金蝶中間件

2010-06-17 11:27:11

UML構(gòu)件

2011-11-28 17:53:55

淘寶aDev技術(shù)沙龍

2023-06-29 10:10:06

Rocket MQ消息中間件

2023-10-24 07:50:18

消息中間件MQ

2009-06-16 15:55:06

JBoss企業(yè)中間件

2012-11-30 10:21:46

移動中間件

2022-09-03 18:00:05

消息中間件MQ

2013-07-31 08:42:08

BaaS移動云服務(wù)移動中間件
點贊
收藏

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