自頂向下和自底向上理解程式設計

2022-09-02 20:39:11 字數 637 閱讀 5282

example: 客戶端程式如何從服務端取資料?

【自頂向下理解】 客戶端想要動態地獲取資料(比如使用者手勢、點選等事件觸發),通過呼叫服務即可(如wcf service, rest service ,domainservice 等),取到資料後(如json),反序列化到客戶端相應的model類中; 而服務幫助我們完成了資料的呼叫。  服務使用一些運算元據庫的api來取用資料,如ado.net,linq to sql,linq to entity等, 而這些api幫助我們連線資料庫並且運算元據; (資料庫為我們提供了乙個良好的存放大量資料,處理資料併發的地方,比如mssql,mysql,oracle等資料庫);

【自底向上理解】 資料庫裡存放了資料,用ado.net等api連線、操作、傳送資料到中間層(比如dataset,entity model等),通過通訊服務(比如webservice、wcf、rest、domain等)公開介面,以供其他程式呼叫。 客戶端(比如silverlight客戶端)呼叫服務(rest等)就可以取到相應的資料(比如接收到序列化後的json字串,或者xml字串),然後客戶端將相應的字串反序列化成物件,賦值到客戶端相應的model類中。 而每種應用程式又有相應的方式操控model類,在ui中呈現(比如silverlight的mvvm模式,asp.net的mvc模式或三層架構).

自底向上和自頂向下

動態規劃的式子都是狀態p由狀態q1 q2 q3 之中選擇乙個或幾個計算出來的形式,但是如果一直是一些狀態這樣遞迴下去,最後會無限迴圈的,所以每個式子一直寫下去最後都會得到一些狀態p是常數 遞迴邊界 的形式。以上可構造乙個dag 自底向上就是已經知道了所有遞迴邊界,把所有可能的狀態都算出來。基本步驟是...

自頂向下和自底向上的歸併排序區別

歸併排序中最基本的操作是 歸併 即將兩個 2 路歸併 或兩個以上的有序陣列組合成乙個更大的有序陣列。按照歸併順序的不同,歸併排序可以分為自頂向下和自底向上兩類。自頂向下的歸併排序進行的操作主要就是對陣列的拆分與合併。通過層層拆分得到單元素陣列,天生有序,然後歸併兩個單元素陣列得到乙個較大的有序陣列,...

自底向上和自頂向下的架構設計區別

某日小明上數學課,他的老師給了很多個不同的直角三角板讓小明用尺子去量三角板的三個邊,並將長度記錄下來。兩個小時過去,小明完成任務,把資料拿給老師。老師給他說,還有乙個任務就是觀察三條邊之間的數量關係。又是兩個小時,聰明的小明連蹦帶跳走進了辦公室,說 老師,我找到了,三條邊之中有兩條,它們的平方和約等...