軟體重構與設計模式培訓筆記
1.TDD
測試驅動開發:每次完成一個功能,測試成功後才繼續下一步開發。
這種開發模式特別適合重構,因為重構在不斷的修改原始碼,為了保證修改沒有改變原來的表現,所以沒完成一次修改都要測試一次。
2.過程
修改>最小化通過>完成功能
發程式碼中的異味>先讓程式碼流程走通>再具體實現程式碼
3.重構和設計模式
面向物件:
三要素:角色,職責,協作
手法:抽象,封裝,複用
設計模式:抽象現實到角色,將角色中可變部分分離出另外的角色作為抽象類,具體變化再到具體的類,這就是行為模式
重構是應用了這種設計模式,使程式碼乾淨整潔靈活性強
4.IDE重構方面的操作
將程式碼提取到方法
移動方法到某個類
提取方法到新的類
……..
5.知識體系
道>術
6.程式設計方法
//hack stub
簡單實現可通過的程式碼
先實現簡單程式碼,讓測試通過,再實現具體stub的程式碼
好處:
思路寫在程式碼裡,逐步實現功能,符合人腦三層次的習慣,簡單快速。
相關推薦
軟體重構與設計模式培訓筆記
1.TDD 測試驅動開發:每次完成一個功能,測試成功後才繼續下一步開發。 這種開發模式特別適合重構,因為重構在不斷的修改原始碼,為了保證修改沒有改變原來的表現,所以沒完成一次修改都要測試一次。
我的多線程—多線程與設計模式閱讀筆記
圖解java多線程與設計模式 多線程 設計模式 java多線程與設計模式1.Producer-Consumer模式 我來做,你來用 命名生產消費者模式. 生產者和消費者只有一個成為Pipe模式如何解決兩者之間處理速度差異的問題? data
【筆記】《軟體系統分析與設計》複習筆記
7:00考試,3:00複習,我覺得海星。 第四章 資料庫設計(資訊工程模型) 4.1 問題引入與基本概念 基本概念:資料,資料元素,資料物件,資料結構,資料型別,抽象資料型別,資料建模 實體關係圖ERD:利用符號標記實體與關係,實現對資料刻畫的一種資料模型。
Java學習筆記--設計原則與設計模式、類載入、反射的介紹
設計原則、設計模式 面向物件思想設計原則 單一職責原則:每個類應該只有一個職責,對外只能提供一種功能。其實就是”高內聚,低耦合”。 開閉原則:對擴充套件開放,對修改關閉。即在設計一個模組的時候,應當使這個模組可以在不被修改的前提下被擴充套件。 里氏替換原則
【劉偉技術部落格】專注軟體架構、設計模式、重構、UML和OOAD!
個人簡介 劉偉(Sunny),中南大學計算機應用技術博士,國家認證系統分析師(2005年),國家認證系統架構設計師(2009年,全國第四名),高階程式設計師,資料庫系統工程師,MCSE,MCDBA,CASI專業顧問與企業內訓講師。具有十多年軟體開發、專案管理及教育培訓經驗,
包建強的培訓課程(2):Android與設計模式
課程名稱:Android與設計模式 一、簡介 本課程根據講師十多年的一線工作經驗,涉足.NET、Android、iOS等多個技術領域,對設計模式有獨到的理解。不拘泥於傳統的書本教程,結合Android在實際專案中的運用,幫助學員深刻理解設計模式。 本課程讓學員掌握二十
設計模式讀書筆記與總結系列文章
這學期開始學習設計模式了,借了一本馬士兵推薦的《JAVA與模式》,很厚,現在還在看。開始的時候,只是寫一些讀書筆記,只給自己看,文章的質量很低,後來我們老師和我們共享了CSDN訪談劉偉的一個文件,看了一下劉偉是怎麼談如何學習設計模式的,說是學設計模式,要知道設計模式的意圖是什麼,它要解決一個什麼問題,什麼時候
設計模式學習筆記-適配器模式(對象適配器)
ring ons col class pat ima pub 不兼容 public 一、概述 將一個類的接口轉換為客戶希望的另外一個接口。Adapter模式使得原本由於接口不兼容而不能一起工作的那些類可以一起工作; 二、模式中的角色 Target:定
設計模式學習筆記-橋接模式
學習 write images 基礎 abs 分離 對象 bsp uml 一、概述 將抽象部分與它的實現部分分離,使它們都可以獨立地變化。 二、模式中的角色 Abstraction:定義抽象類的接口;維護一個指向Implementor類型對象的指針;
java面向對象與設計模式(四)
工廠方法模式 java 選擇 缺點 一個 聯系 面向 抽象工廠 pan 第五式 抽象工廠模式 定義:提供一個創建一系列相關或相互依賴對象的接口,而無需指定他們具體的類。(創建的對象之間有約束) 抽象工廠模式的本質:選擇產品簇的實現 優點:分離接口和產品簇,使得切換產品簇變得
設計模式學習筆記(二) 設計基本原則之【單一職責原則】
code 分享 開發者 實際應用 需要 ret ext file類 tor 單一職責原則(SRP: Single Responsibility Principle) 名詞解釋: 1) 職責:是指類變化的原因。 2) 職責擴散:就是因為某種原因,職責P被分化為粒度更細的職責P
Java與設計模式-狀態模式
維護 chan str else 開關 進行 private 接下來 csdn 概念:狀態模式把所研究的對象的行為包裝在不同的狀態對象裏。每個狀態對象都屬於一個抽象狀態類的一個子類。狀態模式的意圖是讓一個對象在其內部狀態改變的時候。其行為也隨之改變,也就是不同狀態相應
Java 設計模式學習筆記1——策略模式(Duck例子)
利用 實例化 top 而是 實現 學習筆記 left ng- 多個 0、假設現有工程(Duck)中遇到為類添加功能的問題,如何設計類添加新的功能? 1、利用繼承提供的Duck(鴨子)的行為會導致哪些缺點? (1)代碼在多個子類中重復 (2)很多男知道所有鴨子的全部行為
設計模式學習筆記
開發 新的 check cal n) prot family 書寫 末尾 一、JS靈活性 1、在團隊開發中,為了減少方法覆蓋或者被覆蓋,我們可以用一個變量來保存這些方法和屬性; 示例: var checkObject = { checkName = function()
23設計模式簡介筆記
聚合 方法 抽象方法 發生 橋梁模式 訪問者 樹結構 針對 接收 1、工廠模式:客戶類和工廠類分開。消費者任何時候需要某種產品,只需向工廠請求即可。消費者無須修改就可以接納新產品。缺點是當產品修改時,工廠類也要做相應的修改。如:如何創建及如何向客戶端提供。2、建造模式:將產
C#.Net 設計模式學習筆記之創建型 (一)
應用 種類 單件 src nag abstract 子類 指定 相關 1、抽象工廠(Abstract Factory)模式 常規的對象創建方法: //創建一個Road對象 Road road =new Road(); new 的問題: 實現依賴,不能應對“具
第11章 Tomcat的系統架構與設計模式
必須 ket 聲明 命令模式 基本 ner 虛擬主機 fec 啟動 11.1 Tomcat總體設計 11.1.1 Tomcat總體架構 Tomcat和核心有連個組件:Connector和Container,Connector是可以被替換的。一個container可以
Java設計模式學習筆記,三:建造者模式
() stat sys pri builder 統一 return tengine str 建造者模式:實現了構建和裝配的解耦,即對象的各個子組件單獨構建,再進行裝配,從而建造完整對象。 該模式適用於構建較為復雜的對象(多個子組件)。 不同的構建者,使用相同的裝配者,可以建
Spring 框架的設計理念與設計模式分析
問題 面向對象編程 -h oop ram 重要 原因 依賴 object 轉自: https://www.ibm.com/developerworks/cn/java/j-lo-spring-principle/ Spring 的設計理念 前面介紹了 Spring 的三
設計模式學習筆記 C#代碼(一)
內容 編程 繼承 color 模式 c# 派生類 ive spa 《深入淺出設計模式》學習筆記第一章 原始需求和設計 事情是這樣開始的,公司需要做一套程序,鴨子,設計如下: 一個鴨子父類,多個派生類,三個可override的方法。 第一次需求變更 我們要會飛的鴨子!!!!