1. 程式人生 > >架構、框架、模式、模塊、組件、插件、控件、中間件的含義和區別

架構、框架、模式、模塊、組件、插件、控件、中間件的含義和區別

研究 switch 多個 強調 ons not supports cte system

架構、框架、模式、模塊、組件、插件、控件、中間件的含義和區別。經常看到這些概念,但是有些含糊,花點兒功夫整理一下,結果還是有些地方理解的不透徹,先將整理的內容寫下來,以供交流。左側英文欄中有些單詞被分成了兩半,放到了兩行中,看的時候需要註意。歡迎各路大蝦、大牛、大神拍磚警醒,油錘灌頂~~~

術語英文解釋中文解釋
軟件架構 architecture:Architecture is the art of planning, designing, and constructing buildings. 軟件架構,也稱為軟件體系結構。簡單地說,軟件架構就是一個藍圖,是一種設計方案,將客戶的不同需求抽象成為抽象組件,並且能夠描述這些抽象組件之間的通信和調用。它是對軟件系統的系統組織,是對構成系統的構件的接口,行為模式,協作關系等體系問題的決策總和。它不僅涉及到結構與行為,而且還涉及到系統的使用,功能,性能,適應性,重用性,可理解性,經濟性和技術約束的權衡和美學考慮。 使用方法:軟件架構會分析工程中的問題,針對問題設計解決方案,針對解決方案分析應具有的功能,針對功能設計軟件系統的層次和模塊及層次模塊之間的邏輯交互關系,確定各個功能如何由這些邏輯實現。工程開發者,可以根據軟件架構中分析出來的層次和模塊進行軟件的編寫。
軟件框架 Framework :A framework is a structure that forms a support or frame for something. A structure is something that consists of parts connected together in an ordered way. A framework is a set of classes that embodies an abstract design for solutions to a family of related problems, and supports reuses at a larger granularity than classes.A software framework provides the skeleton of an application that can be customized by an application developer. 軟件框架是項目軟件開發過程中提取特定領域軟件的共性部分形成的體系結構,不同領域的軟件項目有著不同的框架類型。框架不是現成可用的應用系統,而是一個半成品,是一個提供了諸多服務,供開發人員進行二次開發,實現具體功能的應用系統。特別強調,框架是一個可供二次開發的程序實體。框架與架構關系 :首先說框架不是架構,框架比架構更具體,更偏重於技術,而架構偏重於設計。還有一個關系就是架構可以通過多種框架來實現。另外,生活中說的“框架”跟軟件術語中“框架”的意思不同,要註意區別。使用方法:特定領域軟件有一些共性部分形成的軟件架構,將這個共性的軟件架構開發出來,形成一個可供二次開發的程序實體,這個程序實體就是軟件框架。 可供二次開發。
設計模式 Pattern:A pattern is the repeated or regular way in which something happens or is done. If you refer to a way of doing something, you are referring to how you can do it, for example, the action you can take or the method you can use to achieve it. 設計模式強調的是一個設計問題的解決方法,是一套被反復使用、多數人知曉的、經過分類編目的、代碼設計經驗的總結。框架與設計模式關系 :設計模式研究的是針對單一問題的設計思路和解決方法,一個模式可應用於不同的框架和被不同的程序語言所實現;而框架則是一個應用的體系結構,是一種或多種設計模式和代碼的混合體。雖然它們有所不同,但卻共同致力於使人們的設計可以被重用,在思想上存在著統一性的特點,因而設計模式的思想可以在框架設計中進行應用。架構與設計模式關系 :兩者的關系也是很好區分的,設計模式主要是針對單一問題的解決方法,範疇比較小,而架構是高層次的針對體系結構的一種設計思路,範疇比較大。可以這麽說,一個架構中可能會出現多個設計模式來解決多個架構中的問題。使用方法:針對特定問題提供解決方案,以供問題解決者參考。
模塊 Module:In software, a module is a part of a program. Programs are composed of one or more independently developed modules that are not combined until the program is linked. A single module can contain one or several routines.A software module encapsulates related functions in a program together.one of a set of parts that can be connected or combined to build or complete something. 1模塊,module,模塊是一個通用概念,可能從功能或其他目的來區分。模塊可以是子系統子領域,主要取決於上下文環境的用法。通常我們會說程序模塊,功能模塊,這實際上是在按照不同的標準對模塊的內容和範圍的不同定義。2通常我們說的程序模塊,是指的一段能夠實現某個有價值目標的的成員代碼段,這樣的東西,我們還有另一個稱呼:例程,而例程有兩種,即函數和過程,它們都能實現一個有價值的目標供其它的模塊使用。3而功能模塊的說法一般在分析和設計階段出現得比較頻繁,通常我們用一個功能模塊來說明一個功能所包含的系統行為,當我們覺得分析的顆粒度可能更大一些的時候我們可以用一個功能模塊來表示一組功能的集合,這似乎讓我們覺得,模塊這個詞的概念和“子系統”這個詞的概念有些模糊,是的,事實上,有些大的模塊會慢慢的讓我們覺得稱呼他們子系統更合適,或者一個子系統,我們會慢慢發現你還包含著一些模塊。但是無論怎樣,定義模塊的原則應該是:高內聚和低耦合。4使用方法:就是一個描述全局中問題的概念,至於全局是什麽,這個隨便,比如一個人,可以看成各種功能系統,那麽模塊就是各種呼吸系統、消化系統等;可以看成社會關系,模塊就有勞動能力、生產關系等,全在於怎麽看了。
組件 Component:The components of something are the parts that it is made of. 1組件,Component,首先說,組件已經不是一個抽線的概念了,是封裝了一個或多個實體程序模塊的實體。2組件這個詞通常是現在描述產品的時候出現,一個大的產品會有很多小的部分組成,而小的部分除了是一個大的組件的部分以外,自己可能還包含更小的組件,所以組件是遞歸的,那麽組件到底是什麽呢?最常見的組件就是我們已經寫好的程序代碼,任何一小段代碼都可以是一個組件,它可以和其它代碼段連接起來組成更大的一段程序代碼,一個更大的組件,然後可能是一個函數,或者一個類程序單元,或者數個類單元文件的集成,當不同的組件的組裝形成更大的組件時候,我們實際就是在做我們通常提到的一件事情:集成,軟件中有很多集成工作要做,每日集成,重要版本集成等等,集成是什麽呢?軟件中,就是鏈編調試。這樣一來,我們知道集成是需要對被集成的組件有規模要求的,換句話說,至少是一個單元文件,所以通常說到的組件就可以直觀的理解為單元文件,或者可以組成軟件的其他文件,以及編譯後的文件。3組件是面向對象裏面的一個重[chóng]用的概念,也稱為構件,組件非常類似機械中構件概念,現在機械都是走向構件生成,通過不同構件組裝成一個機械成品,軟件目前也是這樣的一個生成方式。4維基百科上說,組件之間通過接口進行交互,這個挺起來有些象插件,現實中也是這樣,比如一個dll文件,可以說是插件,也可以說是組件。插件是是組件的一個子類,就是將組件中具有某些特點的組件歸為插件,這些特點是:益於與系統分離,接口明晰,可以替換的程序模塊。5組件強調的是封裝,利用接口進行交互。因為封裝有不同層次的封裝,對應不同層次的接口,(比如將一個人封裝成一個組件,比如國家主席,多個人封裝成一個組合,比如中央的常委們),所以組件所表述的範圍和層次也是多種多樣的,在談論組件的時候一定要分辨清楚談論的層次和範圍。層次是相對的。你說地球是整個世界,但是將地球放到銀河系中,地球就顯得渺小了;你說物質世界是整個世界,但是人類的精神世界也是無比的浩瀚;你說物質世界和精神世界合起來是整個世界,但是歷史又是那麽的神秘和真實;你說物質世界、精神世界、歷史時空是整個世界,但是科學家又說人類可以探察的宇宙物質僅占全部宇宙的百分之四。6使用方法:就是一個描述系統中實體單元的概念。
插件 Plug-in:(addin,add-in,add-on,addon,app)A plug-in is something such as a piece of software that can be added to a computer system to give extra features or functions. 1根據對組件和模塊的分析,插件屬於組件,而且還是一個程序模塊,也是一個功能模塊。插件是一種電腦程序,通過和應用程序的互動,來替應用程式增加一些特定的功能。 插件必須依賴於應用程序才能發揮自身功能,僅靠插件是無法正常運行的。2使用方法:滿足一定接口規範的具有一定功能的程序模塊。開發者可以在自己軟件系統中設計相應的接口以匹配某個插件,也可以設計一定的接口規範,來讓別人開發插件。插件和程序之間通過接口進行交互。
控件 Control:A control is a device such as a switch or lever which you use in order to operate a machine or other piece of equipment. 1可視化的組件。
中間件 Middleware:computer software that has an intermediary function between the various applications of a computer and its operating system.Middleware is computer software that provides services to software applications beyond those available from the operating system. It can be described as “software glue”.[1] Middleware makes it easier for software developers to perform communication and input/output, so they can focus on the specific purpose of their application.

架構、框架、模式、模塊、組件、插件、控件、中間件的含義和區別