1. <li id="4ou1x"><option id="4ou1x"></option></li>
    2. 青青av,亚洲青青草视频在线播放,色噜噜狠狠色综合无码久久欧美,国产色网站,超碰伊人久久大香线蕉综合,国产人妻人伦精品婷婷,波多野42部无码喷潮,国产乱人伦无无码视频试看
      當前位置: > 綜合報告 > 設計報告

      設計模式課程設計報告

      發布時間:2026-06-10 13:35:16 瀏覽次數:91 格式:DOC

      導語:這門課不光講理論,更帶你親手把經典設計模式“用起來”。報告聚焦真實編碼場景,從需求分析到模式選型,再到代碼落地與反思,一步一坑、步步有解。寫完它,你對抽象、解耦、可擴展的理解就不再是空話,而是肌肉記憶。

      報告屬性

      適用對象 計算機專業學生,剛學完設計模式課,代碼和文檔能力都還在起步階段,需要模板參閱的新人。
      使用場合 適合課程設計作業匯報、教學實踐總結、軟件工程類課程結課報告提交。用來展示設計模式學習成果和軟件實現過程,老師批閱或小組答辯都用得上。
      核心內容 講清楚自己怎么用靜態網頁實現23種設計模式的展示,重點說明單例、工廠方法、備忘錄三個實例的理解和做法,同時坦誠遇到的困難和學到的東西。
      內容體量 3500字
      報告關鍵詞 課程設計作業

      報告正文

      一、問題要求及任務描述

      設計模式課程作業要求獨立制作一個軟件,功能是實現23種模式的定義、優缺點以及顯示示例代碼。

      (一)、題目要求

      設計軟件,將23種設計模式結合,要能夠顯示每種模式的定義、優缺點以及舉例說明例子,加上簡單的代碼說明。

      (二)、主要任務

      主要是選擇一種工具,實現顯示的功能,整理各種模式的定義,概念、使用情況、以及選擇模式實例,代碼實現;

      (三)、典型實例實現(任選三個分屬于不同設計模式的實例)

      1、單例模式 定義與結構

      單例模式的意思就是只有一個實例。單例模式確保某一個類只有一個實例,而且自行實例化并向整個系統提供這個實例。這個類稱為單例類。 單例模式的要點

      顯然單例模式的要點有三個;一是某個類只能有一個實例;二是它必須自行創建這個實例;三是它必須自行向整個系統提供這個實例。在下面的對象圖中,有一個單例對象,而客戶甲、客戶乙和客戶丙是單例對象的三個客戶對象。可以看到,所有的客戶對象共享一個單例對象。而且從單例對象到自身的連接線可以看出,單例對象持有對自己的引用。靜態變量(這是c/c 的叫法,其他語言或有不同)是實現單例模式的要素。 單例模式的2種方式:餓漢式,懶漢式

      單例模式屬于對象創建型模式,其意圖是保證一個類僅有一個實例,并提供一個訪問它的全局訪問點。對一些類來說,只有一個實例是很重要的,雖然系統中可以有許多打印機,但卻只應該有一個打印機假脫機,只應該有一個文件系統和一個窗口管理器,一個數字濾波器只能有一個a/d轉換器,一個會計系統只能專用于一個公司。怎樣才能保證一個類只有一個實例并且這個實例易于被訪問,一個全局變量使得一個對象可以被訪問,但它不能防止你實例化多個對象,一個更好的方法是讓類自身負責保存他的唯一實例。這個類可以保證沒有其他實例可以被創建,并且它可以提供一個訪問該實例的方法,這就是singleton模式。

      一個產生隨機數的例子,整個應用程序中只需要一個類的實例來產生隨機數,客戶端程序從類中獲取這個實例,調用這個實例的方法ne_tint,公用的方法訪問需要進行同步,這是單例模式需要解決的同步問題。

      2、工廠方法模式 定義與結構

      工廠方法模式的意義是定義一個創建產品對象的工廠接口,將實際創建工作推遲到子類當中。核心工廠類不再負責產品的創建,這樣核心類成為一個抽象工廠角色,僅負責具體工廠子類必須實現的接口,這樣進一步抽象化的好處是使得工廠方法模式可以使系統在不修改具體工廠角色的情況下引進新的產品。

      工廠方法模式是簡單工廠模式的衍生,解決了許多簡單工廠模式的問題。首先完全實現‘開-閉 原則’,實現了可擴展。其次更復雜的層次結構,可以應用于產品結果復雜的場合。

      工廠方法模式的對簡單工廠模式進行了抽象。有一個抽象的factory類(可以是抽象類和接口),這個類將不在負責具體的產品生產,而是只制定一些規范,具體的生產工作由其子類去完成。在這個模式中,工廠類和產品類往往可以依次對應。即一個抽象工廠對應一個抽象產品,一個具體工廠對應一個具體產品,這個具體的工廠就負責生產對應的產品。

      適用情況

      第一種情況是對于某個產品,調用者清楚地知道應該使用哪個具體工廠服務,實例化該具體工廠,生產出具體的產品來。java collection中的iterator 方法即屬于這種情況。

      第二種情況,只是需要一種產品,而不想知道也不需要知道究竟是哪個工廠為生產的,即最終選用哪個具體工廠的決定權在生產者一方,它們根據當前系統的情況來實例化一個具體的工廠返回給使用者,而這個決策過程這對于使用者來說是透明的。 優缺點

      首先,良好的封裝性,代碼結構清晰。一個對象創建是有條件約束的,如一個調用者需要一個具體的產品對象,只要知道這個產品的類名(或約束字符串)就可以了,不用知道創建對象的艱辛過程,減少模塊間的耦合。

      其次,工廠方法模式的擴展性非常優秀。在增加產品類的情況下,只要適當地修改具體的工廠類或擴展一個工廠類,就可以完成“擁抱變化”。例如在我們的例子中,需要增加一個棕色人種,則只需要增加一個brownhuman類,工廠類不用任何修改就可完成系統擴展。 再次,屏蔽產品類。這一特點非常重要,產品類的實現如何變化,調用者都不需要關心,它只需要關心產品的接口,只要接口保持不表,系統中的上層模塊就不要發生變化,因為產品類的實例化工作是由工廠類負責,一個產品對象具體由哪一個產品生成是由工廠類決定的。在數據庫開發中,大家應該能夠深刻體會到工廠方法模式的好處:如果使用jdbc連接數據庫,數據庫從mysql切換到oracle,需要改動地方就是切換一下驅動名稱(前提條件是sql語句是標準語句),其他的都不需要修改,這是工廠方法模式靈活性的一個直接案。 最后,工廠方法模式是典型的解耦框架。高層模塊值需要知道產品的抽象類,其他的實現類都不用關心,符合迪米特原則,我不需要的就不要去交流;也符合依賴倒轉原則,只依賴產品類的抽象;當然也符合里氏替換原則,使用產品子類替換產品父類,沒問題!

      3、備忘錄模式

      定義與結構

      備忘錄(memento)模式又稱標記(token)模式。gof給備忘錄模式的定義為:在不破壞封裝性的前提下,捕獲一個對象的內部狀態,并在該對象之外保存這個狀態。這樣以后就可將該對象恢復到原先保存的狀態。

      從定義可以看出備忘錄模式是專門來存放對象歷史狀態的,這對于很好的實現undo、redo功能有很大的幫助。所以在命令模式中undo、redo功能可以配合備忘錄模式來實現。

      使用了備忘錄模式來實現保存對象的歷史狀態可以有效地保持封裝邊界。使用備忘錄可以避免暴露一些只應由“備忘發起角色”管理卻又必須存儲在“備忘發起角色”之外的信息。把“備忘發起角色”內部信息對其他對象屏蔽起來, 從而保持了封裝邊界。

      但是如果備份的“備忘發起角色”存在大量的信息或者創建、恢復操作非常頻繁,則可能造成很大的開銷。

      gof在《設計模式》中總結了使用備忘錄模式的前提:

      1) 必須保存一個對象在某一個時刻的(部分)狀態, 這樣以后需要時它才能恢復到先前的狀態。

      2) 如果一個用接口來讓其它對象直接得到這些狀態,將會暴露對象的實現細節并破壞對象的封裝性。 優缺點

      優點:使用備忘錄模式,可以避免暴露一些只應由源發器管理卻又必須存儲在源發器之外的信息,而且能夠在對象需要時恢復到先前的狀態。

      缺點:使用備忘錄可能代價很高。如果源發器在生成備忘錄時必須復制并存儲大量的信息,或者客戶非常頻繁地創建備忘錄和恢復源發器狀態,可能會導致非常大的開銷。

      1)備忘錄(memento)角色:備忘錄角色存儲“備忘發起角色”的內部狀態?!皞渫l起角色”根據需要決定備忘錄角色存儲“備忘發起角色”的哪些內部狀態。為了防止“備忘發起角色”以外的其他對象訪問備忘錄。備忘錄實際上有兩個接口,“備忘錄管理者角色”只能看到備忘錄提供的窄接口——對于備忘錄角色中存放的屬性是不可見的?!皞渫l起角色”則能夠看到一個寬接口——能夠得到自己放入備忘錄角色中屬性。

      2)備忘發起(originator)角色:“備忘發起角色”創建一個備忘錄,用以記錄當前時刻它的內部狀態。在需要時使用備忘錄恢復內部狀態。

      3)備忘錄管理者(caretaker)角色:負責保存好備忘錄。不能對備忘錄的內容進行操作或檢查。

      三、小結

      (一)、問題解決方法及程序實現小結

      我的課程設計作業用的是dreamever,即靜態網頁。因為本身每種模式的內容相對固定,實例代碼以及uml圖片都不會有很大的變動,而且所有模式所涉及的數據內容不多,不需要數據庫支持,所以用靜態網頁形式顯示既方便又合理。

      在制作網頁的過程中,開始的思路是運用浮動框架,但是因為每種模式代碼普遍比較多,若顯示與框架之內,整個頁面布局不夠合理,也不美觀,于是,一種模式運用兩個頁面來顯示,即合理又美觀。

      但是軟件也有本身的缺陷,內容相對固定,不易改變,在變動后不容易改變。從每個頁面回歸前一個頁面的時候可能會不方便。

      學習設計模式讓我們感覺程序設計實際上是一件很有意思的事情,23種設計模式,每種模式又有自己獨特的解決思路,帶有一定的通用性。我們在發現問題到解決問題這個過程中,常會發現很多問題是重復出現的,或是某個問題的變體,外在不同,而本質相同,這些問題的本質就是模式。設計模式主要是在大量變成的基礎上加以總結,以減少重復編碼。

      (二)、 尚未解決的問題及下一步工作思路

      對于模板方法模式的理解還不夠,相關內容還沒有找到,對于課本上c#理解還不夠深入,應該學習用多種語言實現每種模式,理解其基本思想。

      (三)、 收獲

      在本次課程設計中,加深了對于23種設計模式的理解和記憶,更加明白總結對于學習的重要性,在程序開發中,重復性的東西是對于資源的一種浪費,所以在以后學習中應該在更加注重總結學習。本次的課程設計作業也能作為以后學習的一個工具,在需要復習的時候,可以回來查閱總結的內容,一舉兩得。

      報告格式怎么寫

      標題點明主題,分塊用(一)(二)編號,正文有“問題要求”“實例實現”“小結”三大部分,結尾有收獲和不足,落款隱含在課程作業語境里。

      設計模式課程設計報告

      這門課不光講理論,更帶你親手把經典設計模式“用起來”。報告聚焦真實編碼場景,從需求分析到模式選型,再到代碼落地與反思,一步一坑、步步有解。寫完它,你對抽象、解耦、可擴展的理解就不再是空話,而是肌肉記憶。
      推薦度:
      點擊下載文檔文檔為doc格式

      延伸閱讀

      相關設計范文

      • 園林設計師述職報告
      • 園林設計師述職報告 1088人關注

        園林設計師述職報告尊敬的各位公司領導:你們好,轉眼間二零**年即將離我們而去,光陰似箭,歲月匆匆,時間伴隨著我們的腳步急馳而去,穆然回首,才發現過去的一年是充實 ...[更多]

      • 平面設計學生實習報告1500字
      • 平面設計學生實習報告1500字 1083人關注

        根據版面的需要適當的運用一些抽象圖形,如圓形、方行、三角形、點、直線、折線等。形象簡潔而有秩序。有機形態比較自由、活潑而富有彈性,其構成大多采用曲線組合,也有不 ...[更多]

      • 本科畢業設計開題報告怎么寫
      • 本科畢業設計開題報告怎么寫 1073人關注

        本科畢業設計開題報告怎么寫畢業論文是每個畢業生必須去面對的一道難題,那么本科畢業設計開題報告怎么寫?我們看看下面,一起學習哦!從選題到開題報告,到論文修改,再到 ...[更多]

      • 服裝設計開題報告
      • 服裝設計開題報告 1069人關注

        一、課題研究背景在現在這個拿著手機掃描二維碼就能輕松付款的時代,已然離不開網絡。我們的生活方式因為互聯網發生了巨大的改變。人們可以足不出戶獲得信息、購買物品。網 ...[更多]

      • 園林設計師述職報告
      • 園林設計師述職報告 1067人關注

        改革開放以來,我國的園林事業的各個環節,從苗木育種、苗木生產、園林設計、園林工程施工,都有了極大的發展,但是園林工程的監理卻是在96年才進入全面推行階段,至今還 ...[更多]

      • 設計師優秀辭職報告
      • 設計師優秀辭職報告 1066人關注

        尊敬的姜總非常感激您近五年來的關愛與培養,使我從一個普通的初涉社會的設計師,培養成一個能在多方面小有成績的管理者?;厥走^去,從公司組建,經歷了諸多的困難,今天終 ...[更多]

      • 設計生實習報告
      • 設計生實習報告 1062人關注

        新燕花園是公司的長期穩定客戶(收取月費)――燕塘地產旗下一處住宅樓盤。我進入公司時,客戶正要求進入廣州日報的新一輪廣告投放,以適應五一期間的開盤促銷活動。目的明 ...[更多]

      • 裝飾設計公司實習報告
      • 裝飾設計公司實習報告 1060人關注

        裝飾設計公司實習報告光陰荏苒,轉眼間已離開校園五個多月。實習對我來說的確很陌生又是那么的新奇,一切都在用試探的心里去對待,生怕在這條成長的橋梁上摔的一蹶不振,我 ...[更多]

      • 平面設計實習報告總結
      • 平面設計實習報告總結 1053人關注

        平面設計實習報告總結學生姓名:xxxx專業班級: 平面設計實踐地點: xxxxxx公司指導教師:xxx3年大學生活轉瞬即使。,當我們還站在大三憧憬時,便被時間和 ...[更多]

      • 環境藝術設計畢業實習報告
      • 環境藝術設計畢業實習報告 1052人關注

        環境藝術設計畢業實習報告范文一、實習的基本情況本人自20__年__月_日通過自己的努力,應聘到設計師助理一職。實習起止時間:自_月_日起至今。實習單位:__裝飾 ...[更多]