原创 HIT2020 軟件構造lab1心得體會

[軟件構造] 01 lab1的心得體會 由於疫情影響,學校還沒開學,因此第一次在家做實驗。lab1還是非常簡單的,僅僅是對Java基礎編程的熟悉和訓練,因而我做的也算比較快的,大概一週時間(其中除去上課時間等)就做完了,中間還拖

原创 軟件構造 UML類圖關係總結

[軟件構造] 09 UML類圖關係總結 UML統一建模語言是面向對象分析和設計中的一種很重要的描述工具,其中用的最多的就是UML類圖(class diagram),是後續學習設計模式的基礎。可是軟件構造課程的內容中並不包含這一部

原创 軟件構造 Java併發學習1

[軟件構造] 08 Java併發學習1 軟件構造課程的第7章(併發和分佈式編程)是關於併發、線程、線程安全、鎖、同步等知識的內容,因爲之前沒有編寫過多線程的程序,所以這幾周閱讀了一些關於Java併發的內容(Java編程思想的第2

原创 HIT2020 軟件構造lab3心得體會

[軟件構造] 07 軟件構造lab3心得體會 每年哈工大軟件構造課的lab3都是重中之重,難度和任務量都相當的大,主要體現在設計方案的多樣性和自由選擇性,多種設計模式的應用,繁雜的單元測試等等。但自己真正認真完成下來收穫還是巨大

原创 軟件構造 第一章複習與總結

[軟件構造] 02 第一章複習與總結 較之往年的課程,2020年的軟件構造課程砍掉了兩個實驗,刪掉了三章內容,但同時增加了三次的習題課。第一次習題課在第2周,內容爲關於Java、Eclipse、JUnit的習題課,主要是爲了幫助

原创 軟件構造 SOLID設計原則

[軟件構造] 06 SOLID設計原則 軟件構造課程已經進行到了第5章,慢慢地進入到了深水區,涉及到了各種各樣的面向不同質量目標的設計模式和OO的基本設計原則。對於沒寫過太多代碼的我來說,想要將它們熟練的運用起來,不僅需要理解課

原创 軟件構造 第二章複習與總結

[軟件構造] 04 第二章複習與總結 Chapter 2: Process and Tools of Software Construction 第二章 軟件構造的過程與工具 2.1 Software Lifecycle and

原创 Decorator裝飾器設計模式

[軟件構造] 05 Decorator裝飾器設計模式 軟件構造課程的4.3節——面向複用性的設計模式,對Decorator裝飾器設計模式以及其他的5種設計模式進行了詳細的講述。並且lab3的實驗指導書的第6種實現方案也提供了使用

原创 寫博客之前的準備工作

[軟件構造] 00 寫博客之前的準備工作 作爲 軟件構造 課的要求之一,第一次開始正式寫博客。其實真正的第一次寫博客是在大二的計算機系統課上,當時最後的大作業: 程序人生-Hello’s P2P 要求上傳到自己的博客上,於是稀裏

原创 OOP中的Liskov替換原則(LSP)

[軟件構造] 03 OOP中的Liskov替換原則(LSP) 1. 什麼是Liskov替換原則? 首先開門見山,Barbara Liskov和Jeannette Wing在1994年的一篇論文中用下面一句話描述這個原則: Lis

原创 lab1的心得體會

[軟件構造] 01 lab1的心得體會 由於疫情影響,學校還沒開學,因此第一次在家做實驗。lab1還是非常簡單的,僅僅是對Java基礎編程的熟悉和訓練,因而我做的也算比較快的,大概一週時間(其中除去上課時間等)就做完了,中間還拖