****軟體工程導論作業-[20161212 補交]****
1.Framework與library的差別?
主要差別在於The caller/callee relationship,
分成三個部分來說,Framework主要是去定義『controll flow』,而Your code與Libraray code主要是定義『behavior』,以javascript來說,依照顏色的區分,就是framework、Library、your code的差距。$(document).ready( function(){ /* your code */ });
document.addEventListener( “DOMContentLoaded”,);
總結來說,除了caller/callee的關係之外,framework更加注重controll flow,Library更加注重behavior的呈現。
2.最常在哪些地方看見Framework這個字?
以自身為例,最常在Web framework中看到其中一種類行:MVC架構模式,在使用Ruby on Rails開發網頁時,總是會一直使用MVC這個framework,其中包含資料存取與處理的model與介面呈現的view,都是在此framework下運作的流程,這也呼應了第一題所述,framework會專注在controll flow的建立。
3.在課堂上談的7種application中,哪一個最容易說使用framework?
我認為是Web/Mobile applications最容易說是使用framework,原因在於使用framework的目的通常在於希望在有限時間內,提供使用者用更短的時間開發品質更佳的軟體產品,以現在的趨勢來說,system software(提供硬體,像是windows),engineering software(注重performance)、embedded software、all software(robots,neural nets)這些種類的software,與web/mobile applications相比,後者所需要的開發速度、與多樣性比前面種類的software還多,所以才會說目前最容易使用framework的是Web/Mobile applications。