設計模式詳解
Ⅰ 設計模式與演算法有什麼區別請詳細說明一下
設計模式通常是把再開發中經常用到的程序進行抽象形成一種框專架,便於以後類似情況時候屬的使用,是設計簡化; 演算法是某一種計算方式的抽象,通常是為了得到某一結果而進行的,而得到這個結果可能有很多途徑,每一種途徑可能都可以抽象成一種演算法。
Ⅱ 設計模式解析讀後感
[設計模式解析讀後感]2010年05月01日 今天終於看完了《設計模式解析》,雖然對有些模式理解還很淺薄,還不能靈活的運用這些模式,重要的是我以後要時刻注意用模式的思維來看待問題,觀察角度更高了,設計模式解析讀後感。不用死記硬背圖表和定義,關鍵喚醒種思維的角度和意識。 看完這本書後,才意識到以前編程的時候對有些問題的解決方法實在是太不入流了。以前有時候沒有考慮什麼冗餘,膨脹什麼的,只要能實現功能就好。目標也只有一個,就是實現功能萬歲。以後一定多多思考有沒有更好的更簡潔方法。這樣才能提高自己的層次吧。 書中對於面向對象原則總結挺精闢的: 如下: 1.對象是具有明確定義的責任的事務 2.對象對自己負責 3.封裝指的是任何形式的隱藏,讀後感《設計模式解析讀後感》。數據隱藏,實現隱藏,類隱藏,設計隱藏,實例化隱藏 4.使用共性和可變性分析抽象行為和數據的變化 5.按介面設計 6.將繼承看成一種將變化概念化的方法,而不是創建已有對象的特殊情形。 7.將變化放入一個類中,並與該類中的其他變化解耦 8.力求松耦合 9.力求低內聚 10.將使用一個對象的代碼與創建該對象的代碼分離。 11.在應用「一次且進一次」 書中作者發明的分析矩陣的方法好像很實用的。〔設計模式解析讀後感〕隨文贈言:【這世上的一切都借希望而完成,農夫不會剝下一粒玉米,如果他不曾希望它長成種粒;單身漢不會娶妻,如果他不曾希望有孩子;商人也不會去工作,如果他不曾希望因此而有收益。】
Ⅲ 設計模式解析的內容簡介
《設計模式解析(第2版)》以作者自身學習、使用模式和多年來為軟體開發人員(包括版面向權對象技術老兵和新手)講授模式的經驗為基礎撰寫而成。首先概述了模式的基礎知識,以及面向對象分析和設計在當代軟體開發中的重要性,隨後使用易懂的示例代碼闡明了12個最常用的模式,包括它們的基礎概念、優點、權衡取捨、實現技術以及需要避免的缺陷,使讀者能夠理解模式背後的基本原則和動機,理解為什麼它們會這樣運作。
《設計模式解析(第2版)》適合軟體開發專業人士,以及計算機專業、軟體工程專業的高校師生閱讀,也可作為面向對象分析與設計課程的參考教材。
Ⅳ Java中常用的設計模式有哪些請詳細說明一下工廠模式。
1.單例模式(有的書上說叫單態模式其實都一樣)
該模式主要目的是使內存中保持1個對象
2.工廠模式
該模式主要功能是統一提供實例對象的引用。看下面的例子:
public class Factory{
public ClassesDao getClassesDao(){
ClassesDao cd = new ClassesDaoImpl();
return cd;
}
}
interface ClassesDao{
public String getClassesName();
}
class ClassesDaoImpl implements ClassesDao {
public String getClassesName(){
System.out.println("A班");
}
}
class test
{
public static void main(String[] args){
Factory f = new Factory();
f.getClassesDao().getClassesName();
}
}
這個是最簡單的例子了,就是通過工廠方法通過介面獲取對象的引用
3.建造模式
該模式其實就是說,一個對象的組成可能有很多其他的對象一起組成的,比如說,一個對象的實現非常復雜,有很多的屬性,而這些屬性又是其他對象的引用,可能這些對象的引用又包括很多的對象引用。封裝這些復雜性,就可以使用建造模式。
4.門面模式
這個模式個人感覺像是Service層的一個翻版。比如Dao我們定義了很多持久化方法,我們通過Service層將Dao的原子方法組成業務邏輯,再通過方法向上層提供服務。門面模式道理其實是一樣的。
5.策略模式
這個模式是將行為的抽象,即當有幾個類有相似的方法,將其中通用的部分都提取出來,從而使擴展更容易。
Ⅳ Android 開發中常用到的設計模式有哪些
Builder模式:比如AlertDialog.Builder。
適配器模式:比如GridView、ListView與Adapter。
命令模式:比如Handler.post。
享元模式:比如Message.obtain。
單例模式:比如InputMethodManager.getInstance。
觀察者模式:比如ContentObserver。
這是一些經常用到的設計模式以及舉例。
Ⅵ 《設計模式:可復用面向對象軟體的基礎》是以啥子語言為基礎講解的
可以基於Java,C或者C++,其實主要是面向對象的思想,和具體實現的語言關系不大。
不過版java,c++本來權就是面向對象的語言,所以寫起來方便。但真正理解了面向對象的思想,用C語言也是可以寫出來的,而且C語言更加的清晰。
書面說證明有使用Java,C++講解設計模式的書籍,可以查閱一下豆瓣。
Ⅶ java面向對象設計原則和設計模式詳解
Java面向對象設計原則
1) Open-Close Principle(OCP),開-閉原則,講的是設計要對擴展有好的支持,而對修改要嚴格限制。這是最重要也是最為抽象的原則,基本上我們所說的Reusable Software既是基於此原則而開發的。其他的原則也是對它的實現提供了路徑。
2) Liskov Substituition Principle(LSP),里氏代換原則,很嚴格的原則,規則是「子類必須能夠替換基類,否則不應當設計為其子類。」也就是說,子類只能去擴展基類,而不是隱藏或覆蓋基類.
3) Dependence Inversion Principle(DIP),依賴倒換原則,「設計要依賴於抽象而不是具體化」。換句話說就是設計的時候我們要用抽象來思考,而不是一上來就開始劃分我需要哪些哪些類,因為這些是具體。這樣做有什麼好處呢?人的思維本身實際上就是很抽象的,我們分析問題的時候不是一下子就考慮到細節,而是很抽象的將整個問題都構思出來,所以面向抽象設計是符合人的思維的。另外這個原則會很好的支持OCP,面向抽象的設計使我們能夠不必太多依賴於實現,這樣擴展就成為了可能,這個原則也是另一篇文章《Design by Contract》的基石。
4) Interface Segregation Principle(ISP),「將大的介面打散成多個小介面」,這樣做的好處很明顯,我不知道有沒有必要再繼續描述了,為了節省篇幅,實際上我對這些原則只是做了一個小總結,如果有需要更深入了解的話推薦看《Java與模式》,MS MVP的一本巨作!^_^
5) Composition/Aggregation Reuse Principle(CARP),設計者首先應當考慮復合/聚合,而不是繼承(因為它很直觀,第一印象就是「哦,這個就是OO啊」)。這個就是所謂的「Favor Composition over Inheritance」,在實踐中復合/聚合會帶來比繼承更大的利益,所以要優先考慮。
6) Law of Demeter or Least Knowlegde Principle(LoD or LKP),迪米特法則或最少知識原則,這個原則首次在Demeter系統中得到正式運用,所以定義為迪米特法則。它講的是「一個對象應當盡可能少的去了解其他對象」。也就是又一個關於如何松耦合(Loosely-Coupled)的法則。
設計模式:
1)適配器模式
http://eneasy.javaeye.com/blog/174838
2)橋接器模式
http://eneasy.javaeye.com/blog/174892
3)職責鏈模式
http://eneasy.javaeye.com/blog/174906
4)命令模式
http://eneasy.javaeye.com/blog/174896
5)裝飾器模式
http://eneasy.javaeye.com/blog/174840
6)外觀模式
http://eneasy.javaeye.com/blog/174890
7)工廠模式
http://eneasy.javaeye.com/blog/174831
8)享元模式
http://eneasy.javaeye.com/blog/174891
9)代理模式
http://eneasy.javaeye.com/blog/174887
10)單例模式
http://eneasy.javaeye.com/blog/174829
11)狀態模式
http://eneasy.javaeye.com/blog/174897
12)策略模式
http://eneasy.javaeye.com/blog/174894
13)模板模式
http://eneasy.javaeye.com/blog/174893
14)訪問者模式
http://eneasy.javaeye.com/blog/174914
Ⅷ 求解Java的設計模式的詳細解釋,不要太抽象了 。 謝謝
我的理解就是不斷的定義class,在class里定義不同的變數(屬性)和方法(做什麼?怎麼做等)
Ⅸ java設計模式有哪些
注:以下內容為復制;
總體來說設計模式分為三大類:
創建型模式,共五種:工廠方法模式、抽象工廠模式、單例模式、建造者模式、原型模式。
結構型模式,共七種:適配器模式、裝飾器模式、代理模式、外觀模式、橋接模式、組合模式、享元模式。
行為型模式,共十一種:策略模式、模板方法模式、觀察者模式、迭代子模式、責任鏈模式、命令模式、備忘錄模式、狀態模式、訪問者模式、中介者模式、解釋器模式。
其實還有兩類:並發型模式和線程池模式
Java開發中的23種設計模式詳解