2062326 齊力鋒 實驗二《Java物件導向程式設計》實驗報告

來源:互聯網
上載者:User

標籤:體會   介面   網路   close   depend   lin   通用   寫代碼   src   

北京電子科技學院(BESTI)

              

課程:   程式設計與資料結構           班級:      1623           姓名:  齊力鋒      學號: 20162326

成績:             指導教師:   婁嘉鵬/王志強             實驗日期: 2017年4月14日

實驗密級:非密級         預習程度:   優良      實驗時間: 2 Hours

儀器組次:          必修/選修:   必修         實驗序號: 01

實驗名稱:

Java物件導向程式設計

 

 

實驗目的與要求:

1.沒有Linux基礎的同學建議先學習《Linux基礎入門(新版)》《Vim編輯器》 課程2.完成實驗、撰寫實驗報告,實驗報告以部落格方式發表在部落格園,注意實驗報告重點是 運行結果,遇到的 問題(工具尋找,安裝,使用,程式的編輯,調試,運行等)、 解決辦法(空洞的方法如“查網路”、“問同學”、“看書”等一律得0分)以及 分析(從中可以得到什麼啟示,有什麼收穫,教訓等)。報告可以參考範飛龍老師的指導3. 嚴禁抄襲,有該行為者實驗成績歸零,並附加其他懲罰措施。4.  請大家先在實驗樓中的~/Code目錄中用自己的學號建立一個目錄,代碼和UML圖要放到這個目錄中,中沒有學號的會要求重做,然後跟著下面的步驟練習

 

 

實驗內容、步驟與體會: 

 

1. 初步掌握單元測試和TDD2. 理解並掌握物件導向三要素:封裝、繼承、多態3. 初步掌握UML建模4. 熟悉S.O.L.I.D原則5. 瞭解設計模式

 

 

 

體會:做中學,多練多思考

 

 

(一)設計模式初步(1)S.O.L.I.D原則
  • SRP(Single Responsibility Principle,單一職責原則)
  • OCP(Open-Closed Principle,開放-封閉原則)
  • LSP(Liskov Substitusion Principle,Liskov替換原則)
  • ISP(Interface Segregation Principle,介面分離原則)
  • DIP(Dependency Inversion Principle,依賴倒置原則)

- 我們看到通過增加了一層抽象層使代碼符合了OCP原則。代碼有良好的可擴充性、可維護性,代價是代碼多了,效率變低下了。
設計模式初學者容易過度使用它們,導致過度設計,也就是說,遵守DRY和OCP當然好,但會出現YAGNI(You aren‘t gonna need it, 你不會需要它)問題。
DRY原則和YAGNI原則並非完全相容。前者追求"抽象化",要求找到通用的解決方案;後者追求"快和省",意味著不要把精力放在抽象化上面,因為很可能"你不會需要它"。怎麼平衡呢?

有一個Rule of three (三次原則):第一次用到某個功能時,你寫一個特定的解決方案;第二次又用到的時候,你拷貝上一次的代碼(違反了DRY);第三次出現的時候,你才著手"抽象化",寫出通用的解決方案。

(二)、單元測試 提交最後三個測試案例都通過的
  • 當你們想用程式解決問題時,要會寫三種碼:虛擬碼、產品代碼、測試代碼,本次實驗的目的就是讓我們養成這樣寫代碼的好習慣,先寫虛擬碼,再用特定的程式設計語言翻譯一下就是產品代碼,最後寫測試代碼來檢測產品代碼是否存在問題和漏洞。
  • 附上測試

 

2062326 齊力鋒 實驗二《Java物件導向程式設計》實驗報告

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.