作業2 讀書筆記 新得體會

2022-10-07 19:18:10 字數 1997 閱讀 5177

這個作業屬於哪個課程

2022軟體**開發技術

這個作業要求在**

讀書筆記----軟體設計原則、設計模式

這個作業的目標

閱讀指定書籍,並做讀書筆記和心得體會

一、設計原則

設計原則

解釋開閉原則

乙個軟體實體,如類,模組和函式應該對外擴充套件開發,對內修改關閉。用抽象構建框架,用實現擴充套件細節。不以改動原有類的方式來實現新需求,而是應該以實現事先抽象出來的介面(或具體類繼承抽象類)的方式來實現。

單一職責原則

乙個類只允許有乙個職責,即只有乙個導致該類變更的原因。如果乙個類具有多種職責,就會有多種導致這個類變化的原因,從而導致這個類的維護變得困難。

依賴倒置原則

依賴抽象而不是依賴實現。抽象不應該依賴細節,細節應該依賴抽象。高層模組不能依賴低層模組,二者都應該依賴抽象。

介面分離原則

多個特定的客戶端介面要好於乙個通用性的總介面。客戶端不應該依賴它不需要實現的介面。不建立龐大臃腫的介面,應盡量細化介面,介面中的方法應盡量少。

迪公尺特法則

乙個物件應該對盡可能少的物件有接觸,也就是只接觸那些真正需要接觸的物件。迪公尺特法則也叫做最少知道原則,乙個類應該只和它的成員變數,方法的輸入,返回引數中的類作交流,而不應該引入其他的類。

黎克特制替換原則

所有引用基類的地方必須能透明地使用其子類的物件,也就是說子類物件可以替換其父類物件,而程式執行效果不變。

二、設計模式

設計模式:設計模式就是通過前人的各種優化最後得出的一套**設計的模板,使用設計模式可以優化**的質量,提高復用性。

設計模式的分類:

工廠方法模式:定義乙個建立產品物件的工廠介面,讓子類決定例項化哪一種例項對那個。

建造者模式:複雜物件的建立與表示分離同樣的構建過程可以建立不同的表示。

原型模式:用原型例項指定建立物件的種類,並且通過拷貝這些原型建立新的物件

單例模式:

介面卡模式:將乙個類的介面轉換成客戶希望的另外乙個介面

橋接模式:將抽象部分與它的實現部分分離,使它們都可以獨立地變化

組合模式:將物件組合成樹形結構以表示「部分-整體」的層次結構

裝飾者模式:動態地給乙個物件新增一些額外的職責

外觀模式:為子系統中的一組介面提供乙個一致的介面

享元模式:運用共享技術有效地支援大量細粒度的物件

**模式:為其他物件提供一種**以控制對這個物件的訪問

命令模式:將乙個請求封裝為乙個物件,從而使你可用不同的請求對客戶進行引數化;對請求排隊或記錄請求日誌,以及支援可撤消的操作

直譯器模式:給定乙個語言,定義它的文法的一種表示,並定義乙個直譯器,這個直譯器使用該表示來解釋語言中的句子

迭代器模式:提供一種方法順序訪問乙個聚合物件中各個元素, 而又不需暴露該物件的內部表示

中介者模式:用乙個中介物件來封裝一系列的物件互動

備忘錄模式:在不破壞封裝性的前提下,捕獲乙個物件的內部狀態,並在該物件之外儲存這個狀態

觀察者模式:定義物件間的一種一對多的依賴關係,當乙個物件的狀態發生改變時, 所有依賴於它的物件都得到通知並被自動更新

狀態模式:允許乙個物件在其內部狀態改變時改變它的行為

策略模式:定義一系列的演算法,把它們乙個個封裝起來, 並且使它們可相互替換

模板方法模式:定義乙個操作中的演算法的骨架,而將一些步驟延遲到子類中

訪問者模式:定義乙個操作中的演算法的骨架,而將一些步驟延遲到子類中

三、心得體會

對開閉原則的一些理解,假如你寫了a,b,c三個j**a程式,並且已經測試完畢而且上線,現在由於功能的變化需要修改和增加部分**,如果你沒有好的設計模式,應該是在a,b,c中進行修改,並且基本要全部測試,如果有良好的設計模式,我可能繼承新增乙個d.j**a 就可以實現,從這個角度來說,我的測試任務量少了,出現問題更加容易定位問題了。

四、截圖

2018 IFE讀書筆記及心得體會

動態修改css的四種方法 1.使用obj.classname來修改樣式表的類名functionchangestyle1 偽類hover的css是寫在內聯式裡面,採用這種方法會直接在內聯式裡進行覆蓋,導致hover無效 2.使用obj.style.csstest來修改嵌入式的css functionc...

讀書筆記2

關於this指標 雖然this指標大家已經很熟悉了,但是我這裡討論的關於this指標的問題可能大家還沒注意過 為了說明這個關於this的歸屬問題,我自寫了一段再簡單不過的程式,雖簡單但具體 include class a void aa 我的問題是指標p1是指向b自身嗎?一看程式,大家就知道 不是,...

讀書筆記(2)

沉默的藝術 意識科學基礎理論 量子效應只是用於穩定某種內在自由度極大的基本粒子,然後再用基本粒子的內在屬性產生意識體驗。只能通過呈現乙個系統的 物理 屬性來描述乙個系統。只能通過變成內在屬性配對的其中乙個系統,以直接體驗的方式來獲得這些內在屬性的資訊。定義乙個包含所有系統的系統d,除該系統外無任何系...