❶ 什麼是應用架構
應用架構,系統架構,軟體架構三者含義基本一致。
從1985年開始,在過去的二十多年裡,關於什麼是「軟體架構(Software Architecture)」已經基本得到了軟體工程領域普遍的認同。其中一些重要的定義介紹如下。
「軟體架構代表了系統的組織結構。這包括將系統分解為不同的部分、界定它們之間的連接、確定它們之間的交換機制、並且為後續的設計提供指導性的原則」 ---出自UML的著名原創者James Rumbaugh、Grady Booch 及 Ivar Jacobson (即架構界俗稱的「三個火槍手」)。
「軟體架構表述了一個系統的一個或一系列組織結構。這包擴了軟體構件、這些構件的外部可見特徵,以及這些構件之間的關系。」 ---出自Bass Len、Paul Clements、Rick Kazman 在2003年出版的經典的《架構的實踐》一書。
IEEE在2004年4月公布的「IEEE Standard 1471」中,提出了IEEE自己對軟體架構的定義:「軟體系統架構是根據具有參考意義的實踐而定義出來的。主要表述了有一個系統的基本組織結構、基本組成構件和互相的關系,以及構件於外部環境間的關系。同時,軟體系統架構為後續的設計和架構演化提供了指導性原則」 。IEEE Standard 1471也澄清了架構領域的許多其他感念,例如架構描述、架構標准等。
可以看出,上述諸多不同用詞的「軟體架構」的定義,其實都表達了近乎一致的思想。我們可以引用Frank Buschmann 的經典論述來定義一個架構師:「一個軟體系統的架構師是一個要擔負起軟體系統的定義、架構的實現、系統的實施、系統架構演化和系統演化的人。換句話說,是一個要為系統整個生命周期負責的人 。」
但有意思的是,軟體工程領域基本上沒有一致的有關「軟體架構師(Software Architecture)」的定義。很多公司也沒有這樣的職位;有些公司雖然有這樣的職位,但卻說不清楚這個職位所要求的技能和工作職責;另外但我們對比不同公司關於該職位的描述時,也能看到其中的不一致,例如Microsoft公司與Motorola公司對架夠師的職位表述就很不一樣。更常見的是這些職位描述嚴重混淆了很多概念,例如:當年的Rational公司就混淆了「軟體架構師」與「高級程序員」的概念。
這樣的現象,無論是在國內還是國外都很相似。這也導致了我們可以見到大量的不同職位名稱出現在軟體工程行業中的觀象,例如有解決方案架構師、系統架構師、軟體架構師、企業架構師、總工、首席架構師、Java架構師、微軟架構師及.NET架構師。
❷ 什麼是程序框架
程序設計中的框架包含DoitPHP(原Tommyframework)是一個基於BSD開源協議發布的輕量級PHP框架,還包含如thinkphp、codeigniter(簡稱CI)、yii framework、doophp、qeephp、等主流的程序設計框架,根據個人習慣和性能要求,其各也有不同的優缺點。
不論是哪一種技術,最終都是為業務發展而服務的。從業務的角度來講。首先,框架的是為了企業的業務發展和戰略規劃而服務的,他服從於企業的願景(vision);其次,框架最重要的目標是提高企業的競爭能力,包括降低成本、提高質量、改善客戶滿意程度,控制進度等方面。最後,框架實現這一目標的方式是進行有效的知識積累。軟體開發是一種知識活動,因此知識的聚集和積累是至關重要的。框架能夠採用一種結構化的方式對某個特定的業務領域進行描述,也就是將這個領域相關的技術以代碼、文檔、模型等方式固化下來。
❸ android 五大應用開發框架是什麼
android應用開發框架是 Application Framework,其系統架構由5部分組成,分別是:Linux Kernel、Android Runtime、Libraries、Application Framework、Applications。
1、Linux Kernel (Linux內核)
Android基於Linux 2.6提供核心系統服務,例如:安全、內存管理、進程管理、網路 堆棧、驅動模型。Linux Kernel也作為硬體和軟體之間的抽象層,它隱藏具體硬體細節而為上層提供統一的服務。
2、Android Runtime (運行庫)
Android包含一個核心庫的集合,提供大部分在Java編程語言核心類庫中可用的功能。每一個Android應用程序是Dalvik虛擬機中的實例,運行在他們自己的進程中。
Dalvik虛擬機設計成,在一個設備可以高效地運行多個虛擬機。Dalvik虛擬機可執行文件格式是.dex,dex格式是專為Dalvik設計的一種壓縮格式,適合內存和處理器速度有限的系統。 大多數虛擬機包括JVM都是基於棧的,而Dalvik虛擬機則是基於寄存器的。
3、Libraries (程序庫)
Android包含一個C/C++庫的集合,供Android系統的各個組件使用。這些功能通過Android的應用程序框架(application framework)暴露給開發者。
4、Application Framework (應用框架層)
通過提供開放的開發平台,Android使開發者能夠編制極其豐富和新穎的應用程序。開發者可以自由地利用設備硬體優勢、訪問位置信息、運行後台服務、設置鬧鍾、向狀態欄添加通知等等,很多很多。 開發者可以完全使用核心應用程序所使用的框架APIs。
應用程序的體系結構旨在簡化組件的重用,任何應用程序都能發布他的功能且任何其他應用程序可以使用這些功能(需要服從框架執行的安全限制)。這一機制允許用戶替換組件。
5、Applications(應用層)
Android裝配一個核心應用程序集合,包括電子郵件客戶端、SMS程序、日歷、地圖、瀏覽器、聯系人和其他設置。所有應用程序都是用Java編程語言寫的。Android本身是一套軟體堆迭(Software Stack),或稱為「軟體迭層架構」,迭層主要分成三層:操作系統、中間件、應用程序。
(3)應用程序架構是什麼擴展閱讀
開發人員也可以完全訪問核心應用程序所使用的API框架。該應用程序的架構設計簡化了組件的重用;任何一個應用程序都可以發布它的功能塊並且任何其它的應用程序都可以使用其所發布的功能塊(不過得遵循框架的安全性限制)。同樣,該應用程序重用機制也使用戶可以方便的替換程序組件。
隱藏在每個應用後面的是一系列的服務和系統,其中包括;
豐富而又可擴展的視圖(Views),可以用來構建應用程序,它包括列表(lists),網格(grids),文本框(textBoxes),按鈕(buttons),甚至可嵌入的web瀏覽器。
內容提供器(ContentProviders)使得應用程序可以訪問另一個應用程序的數據(如聯系人資料庫),或者共享它們自己的數據
資源管理器(ResourceManager)提供非代碼資源的訪問,如本地字元串,圖形,和布局文件(layoutfiles)。
通知管理器(NotificationManager)使得應用程序可以在狀態欄中顯示自定義的提示信息。
活動管理器(ActivityManager)用來管理應用程序生命周期並提供常用的導航回退功能。
❹ 架構是什麼
架構,又名軟體架構,是有關軟體整體結構與組件的抽象描述,用於指導大型軟體系統各個方面的設計。架構描述語言(ADL)用於描述軟體的體系架構。現在已有多種架構描述語言,如Wright(由卡內基梅隆大學開發),Acme(由卡內基梅隆大學開發),C2(由UCI開發),Darwin(由倫敦帝國學院開發)。ADL的基本構成包括組件、連接器和配置。
架構是對存儲在Active Directory中的對象類別和屬性的描述。對於每一個對象類別來說,該架構定義了對象類必須具有的屬性,它也可以有附加的屬性,並且該對象可以是它的父對象。
可以動態更新的Active Directory 架構。應用程序可以使用新的屬性和類擴展該架構,並能立刻使用該擴展。通過在Active Directory 中創建或修改存儲在 Active Directory 中的架構對象來完成架構的更新。與Active Directory 中的所有對象一樣,架構對象能訪問控制列表,因此只有授權的用戶才可以更改架構。
軟體架構(software architecture)是一系列相關的抽象模式,用於指導大型軟體系統各個方面的設計。 軟體架構是一個系統的草圖。軟體架構描述的對象是直接構成系統的抽象組件。各個組件之間的連接則明確和相對細致地描述組件之間的通訊。在實現階段,這些抽象組件被細化為實際的組件,比如具體某個類或者對象。在面向對象領域中,組件之間的連接通常用介面(計算機科學)來實現。 軟體體系結構是構建計算機軟體實踐的基礎。與建築師設定建築項目的設計原則和目標,作為繪圖員畫圖的基礎一樣,一個軟體架構師或者系統架構師陳述軟體構架以作為滿足不同客戶需求的實際系統設計方案的基礎。
❺ 應用程序框架 是什麼意思
應用程序框架是指程序結構、過程、窗口的集合。