paper study
HTTP 1.1协议于1999年发布,加上于1998年发布的URI协议,至此Web的技术架构已经完全确立。为了向世人详细说明Web技术架构背后的设计原理,Fielding博士在2000年写了自己著名的博士论文《Architectural Styles and the Design of Network-based Software Architectures》——李锟
軟體架構
執行時期(Run time)
動態抽象概念
一套“系統”由許~許多多的軟體架構組合而成
動態抽象概念
Perry和Wolf針對軟體架構提出了一個模型,Fielding博士做了更新。
组件是软件指令和内部状态的一个抽象单元,通过其接口提供对于数据的转换。转换的例子包括从二级存储将数据加载到内存、执行一些运算、转换为另外一种格式、使用其他数据来封装等等。
一个连接器可以包含一个由组件组成的子系统,为了转移的目的对数据进行某种转换、执行转移、然后做相反的转换并交付与原始数据相同的结果。然而,架构所捕获到的外部行为的抽象可以忽略这些细节。
咱們由外觀功能上下手
component
connector
Data
transform
( calculation, 加密... )
某種通信協議 etc.
從外部角度觀察:組件可以對數據進行轉換,連接器不行。
一个配置(約束)是在系统的运行期间组件、连接器和数据之间的架构关系的结构。
由元素(elements)定義上的延伸,賦予其在特定架構下特定的功能(使命)
elements
賦予約束,進行排序、拼湊
對特定軟體架構中,架構元素與元素間彼此的約束所獲得的特徵所進行的描述。
其實就是形容詞!
針對一組軟體架構呈現的效果所下的結論。
工程師的本質:解決問題!!
因為某項需求,需要對特定系統添加某種
屬性
因而選用擁有該指定屬性的軟體架構
耐打
軟硬適中
所以選用這個架構
一種架構風格是一整組完整的架構約束,這些約束提供了特定軟體架構中各元素的角色和功能,同時限制了任一個遵循該風格的架構中允許存在的元素間的關係。(忽略了一組完整實現的軟體架構下的細節)
當你使用它: