freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內容

面向對象的設計原則與模式-文庫吧資料

2025-01-13 01:57本頁面
  

【正文】 幾個基本的設計模式 —— 工廠模式 ? 三種工廠模式 ? Simple Factory模式 ? 專門定義一個類來負責創(chuàng)建其它類的實例,被創(chuàng)建的實例通常都具有共同的父類。來到市場,我發(fā)現(xiàn)主要有一些水果:蘋果( Apple),葡萄( Grape)和鴨梨( Pear)。 ? 今天我去市場,要決定是買水果等產品,還是選擇種水果的產品。 DIP原則告訴我們:要對接口編程,不要對實現(xiàn)編程,只有這樣才能更好地實現(xiàn) OCP。 } } 幾個基本的設計模式 —— 單例模式 ? 注意到 lazy initialization形式中的 synchronized,這個synchronized很重要,如果沒有 synchronized,那么使用getInstance()是有可能得到多個 Singleton實例。 public static synchronized Singleton getInstance() { if (instance==null) instance= new Singleton()。 public static Singleton getInstance() { return instance。餓漢式在類一實例化的時候就初始化了instance;懶漢式僅在調用時才初始化。這會確切地給我們提供所需的行為,并使客戶端不必了解任何類細節(jié)。應該始終不要讓類用戶來監(jiān)視和控制運行的類實例的數(shù)量。 這是一種通用的方法,但實際上只解決一部分問題;它解決了全局可訪問性問題,但沒有采取任何措施來確保在任何給定的時間只運行一個類實例。 ? 對于這種情況,所需的類行為應該僅使用一個類實例來維護該整數(shù),而不是使用多個類實例來維護該整數(shù)。 此類需要能夠增加該計數(shù)器并返回當前的值。在面向對象的( OO)系統(tǒng)中也有這種情況,在此類系統(tǒng)中,在任何給定時間只應運行一個類或某個類的一組預定義數(shù)量的實例。兩類模式的核心都在于提供了相關問題的解決方案。這樣,你就能一次又一次地使用該方案而不必做重復勞動 ” 。該書之所以能夠影響其他行業(yè),部分原因是因為它給出了一種獨特的觀察目標的方式。其著作 A Pattern Language:Towns ,Construction[Alexander、Ishikouwa 和 Silverstein, 1977]介紹了成功設計房屋和城鎮(zhèn)的模式。 設計模式基礎 —— 什么是設計模式 ? Christopher Alexander是最早將某個行業(yè)的最佳實踐記錄為模式的作者之一。通過提供一個顯式類和對象作用關系以及它們之間潛在聯(lián)系的說明規(guī)范,設計模式甚至能夠提高已有系統(tǒng)的文檔管理和系統(tǒng)維護的有效性。一個熟悉這些模式的設計者不需要再去發(fā)現(xiàn)它們,而能夠立即將它們應用于設計問題中。這些經驗是他們成為內行的部分原因。他們更愿意復用以前使用過的解決方案。有經驗的面向對象設計者的確能做出良好的設計,而新手則面對眾多選擇無從下手,總是求助于以前使用過的非面向對象技術。他們將某個行業(yè)的模式記錄歸檔,參與標準化專業(yè)術語,并且公開傳播這些有效的技術。其中某些專業(yè)術語被成為模式,即實現(xiàn)特定目標的公認技術。對于任何一個正邁向成熟的行業(yè),人們總會開始尋找一些通用和有效的方法,來達到目標并解決不同場合中的問題。唯有寫出人類容易理解的代碼,才是優(yōu)秀的程序員 ? 搬移 amountFor方法,變更函數(shù)名稱 ? 去掉臨時變量 thisAmount ? 對 frequentRenterPoints進行類似于 amountFor方法的處理 ? 去掉臨時變量 totalAmount和 frequentRenterPoints ? Movie的繼承與多態(tài) 影片出租店的程序 ? 我們從中體會到了什么? ? 我們?yōu)槭裁床荒芤婚_始就能設計出最后的程序? ? 因為我們
點擊復制文檔內容
環(huán)評公示相關推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1