一、舉個(gè)栗子 用Java實(shí)現(xiàn)一下吧 可以看出有很多重復(fù)的代碼,那么直接把重復(fù)的代碼抽取出來1.版本1.0 2.版本2.0再仔細(xì)看看,還是有重復(fù)的方法 浸泡(steep)和沖泡...
一、舉個(gè)栗子 用Java實(shí)現(xiàn)一下吧 可以看出有很多重復(fù)的代碼,那么直接把重復(fù)的代碼抽取出來1.版本1.0 2.版本2.0再仔細(xì)看看,還是有重復(fù)的方法 浸泡(steep)和沖泡...
一、問題的產(chǎn)生如果我們想設(shè)計(jì)一個(gè)遙控器 而需要遙控的電器,各自都有不同的類 二、簡(jiǎn)化問題餐廳是如何工作的呢? 細(xì)化一下 把餐廳的工作過程用代碼表現(xiàn)一下吧1、實(shí)現(xiàn)命令接口首先,...
一、樹形結(jié)構(gòu)樹形結(jié)構(gòu)在軟件中隨處可見,例如操作系統(tǒng)中的目錄結(jié)構(gòu)、應(yīng)用軟件中的菜單、辦公系統(tǒng)中的公司組織結(jié)構(gòu)等等。 可以看出,在上圖中包含兩種不同的元素:文件(藍(lán)色節(jié)點(diǎn))和文件...
一、代理模式和裝飾者模式還記得裝飾者模式那個(gè)開咖啡店的例子嗎?裝飾者類圖: 同樣開咖啡店,使用代理模式,那么類圖是這樣的 代理模式: //代理的客戶 裝飾者模式: //裝飾器...
一、什么是代理一個(gè)很好很友善的服務(wù),但是不希望所以需要這個(gè)服務(wù)的應(yīng)用都去調(diào)用,就需要一個(gè)代理來控制和管理訪問。例如:Iphone手機(jī)發(fā)布新款了,但是最先只在美國(guó)發(fā)售,蘋果商店...
一、舉個(gè)栗子小明每天回家都會(huì)先打開燈,空氣凈化器,電熱水器燒上水,放上音樂,如果天氣熱的話,再打開空調(diào)。寫成代碼 出門的時(shí)候,還得反向操作把它們都關(guān)掉。如果升級(jí)了系統(tǒng),還得重...
一、什么是適配器如果你的電器是一個(gè)兩項(xiàng)的插頭,而電源插座是三項(xiàng)的,那就需要一個(gè)交流電適配器。這個(gè)適配器位于兩項(xiàng)插頭和三項(xiàng)插座的中間,他的工作是將三項(xiàng)插座轉(zhuǎn)成兩項(xiàng)插座,好讓兩項(xiàng)...
一、問題的提出在應(yīng)用程序中,有些對(duì)象比較復(fù)雜,其創(chuàng)建過程過于復(fù)雜,而且我們又需要頻繁的利用該對(duì)象,如果這個(gè)時(shí)候我們按照常規(guī)思維new該對(duì)象,那么務(wù)必會(huì)帶來非常多的麻煩,這個(gè)時(shí)...
一、問題的產(chǎn)生開一家咖啡店,售賣各式咖啡,1、咖啡店1.0版 如果僅僅是售賣這4種咖啡,這個(gè)訂單系統(tǒng)也能滿足要求,但是,如果想加入各種調(diào)料,如:奶(Milk),摩卡(Moch...
一、問題的提出舉例:WeatherData是氣象站獲取數(shù)據(jù)的對(duì)象,通過他獲取到數(shù)據(jù)后更新到不同的布告板上。WeatherData有三個(gè)方法:getTemperature(),...
一、簡(jiǎn)單工廠舉個(gè)栗子:開個(gè)披薩店: 披薩店不能只有一種披薩,要做各種類型的披薩怎么辦呢? 披薩店擴(kuò)張了,制作的披薩種類更多了,有些披薩賣得不好,不做了,這怎么做呢?只能在上面...
一、設(shè)計(jì)模式的分類設(shè)計(jì)模式可以概括為23種,按照特點(diǎn)可以將其分為三大類型:創(chuàng)建型、結(jié)構(gòu)型、行為型。1、創(chuàng)建型創(chuàng)建型模式是用來創(chuàng)建對(duì)象的模式,抽象了實(shí)例化的過程,幫助一個(gè)系統(tǒng)獨(dú)...
一、問題的產(chǎn)生舉例:鴨子模型鴨子模型中會(huì)出現(xiàn)各種鴨子,會(huì)游泳,會(huì)呱呱叫,于是設(shè)計(jì)一個(gè)鴨子超類(Duck),并讓各種鴨子繼承此超類一、問題的產(chǎn)生舉例:鴨子模型鴨子模型中會(huì)出現(xiàn)各...
一、外部排序之前介紹的所有排序算法都是內(nèi)部排序的算法,也就是說需要將所有數(shù)據(jù)裝入內(nèi)存再進(jìn)行排序。但實(shí)際上會(huì)出現(xiàn)需要排序的數(shù)據(jù)太多無(wú)法全部裝入內(nèi)存的情況,這種情況下排序就是外部...
一、歸并排序歸并排序(MERGE-SORT)是利用歸并的思想實(shí)現(xiàn)的排序方法,該算法采用經(jīng)典的分治(divide-and-conquer)策略(分治法將問題分(divide)成...
一、時(shí)間復(fù)雜度1、定義一般情況下,算法中基本操作重復(fù)執(zhí)行的次數(shù)是問題規(guī)模n的某個(gè)函數(shù),用T(n)表示,若有某個(gè)輔助函數(shù)f(n),使得當(dāng)n趨近于無(wú)窮大時(shí),T(n)/f(n)的極...