av资源网站在线观看,欧美日韩少妇,欧美一区二区少妇http://www.aygfsteel.com/coffee3236888/經(jīng)營(yíng)屬于我們的咖啡屋zh-cnMon, 07 Jul 2025 20:42:16 GMTMon, 07 Jul 2025 20:42:16 GMT60接口型模型的總結(jié)http://www.aygfsteel.com/coffee3236888/articles/301221.html等牛奶的咖啡等牛奶的咖啡Thu, 05 Nov 2009 02:16:00 GMThttp://www.aygfsteel.com/coffee3236888/articles/301221.htmlhttp://www.aygfsteel.com/coffee3236888/comments/301221.htmlhttp://www.aygfsteel.com/coffee3236888/articles/301221.html#Feedback0http://www.aygfsteel.com/coffee3236888/comments/commentRss/301221.htmlhttp://www.aygfsteel.com/coffee3236888/services/trackbacks/301221.html

最近一直在看設(shè)計(jì)模式方面的書(shū),看完了第一部分接口型模式,下面是我的一些個(gè)人理解:

1.        Adapter(適配器)模式

我的理解就是怎樣通過(guò)調(diào)用已經(jīng)存在的方法來(lái)解決客戶(hù)給我們的問(wèn)題,這里的調(diào)用已經(jīng)存在的方法就是java中的復(fù)用代碼,可以通過(guò)組合和繼承來(lái)實(shí)現(xiàn)。換句話(huà)說(shuō),就是引用或者繼承現(xiàn)有的方法類(lèi)來(lái)適配客戶(hù)提供來(lái)的問(wèn)題接口。


2.        Facade(外觀)模式

定位于內(nèi)部組件和外部客戶(hù)程序之間,用于二者間的橋梁。中間類(lèi)的建立主要面向外部客戶(hù)程序,為其提供功能接口,其方法體通過(guò)調(diào)用內(nèi)部組件來(lái)實(shí)現(xiàn)。這樣不僅簡(jiǎn)化了調(diào)用關(guān)系,還在一定程度上達(dá)到了“解耦”的效果。


3.        Composite(組合)模式

主要解決客戶(hù)在處理單個(gè)對(duì)象和組合對(duì)象上的接口一致性。具體的解決方法就是使用將對(duì)象用“樹(shù)型結(jié)構(gòu)”組織起來(lái),以達(dá)成“部分-整體”的層次結(jié)構(gòu)。通過(guò)遍歷(Iterator)整個(gè)樹(shù)型結(jié)構(gòu),獲取所有的對(duì)象。


4.        Bridge(橋接)模式

進(jìn)一步的將抽象化與實(shí)現(xiàn)化“解耦”。橋梁模式中的所謂脫耦,就是指在一個(gè)軟件系統(tǒng)的抽象化和實(shí)現(xiàn)化之間使用組合/聚合關(guān)系而不是繼承關(guān)系,從而使兩者可以相對(duì)獨(dú)立地變化。

抽象化角色(Abstraction)引用了實(shí)現(xiàn)化角色(Implementor)的接口,并且抽象了客戶(hù)的功能接口(面向客戶(hù))。

實(shí)現(xiàn)化角色(Implementor)抽象出底層操作(面向底層)。



等牛奶的咖啡 2009-11-05 10:16 發(fā)表評(píng)論
]]>
Composite(組合)模式http://www.aygfsteel.com/coffee3236888/articles/300568.html等牛奶的咖啡等牛奶的咖啡Sun, 01 Nov 2009 06:25:00 GMThttp://www.aygfsteel.com/coffee3236888/articles/300568.htmlhttp://www.aygfsteel.com/coffee3236888/comments/300568.htmlhttp://www.aygfsteel.com/coffee3236888/articles/300568.html#Feedback0http://www.aygfsteel.com/coffee3236888/comments/commentRss/300568.htmlhttp://www.aygfsteel.com/coffee3236888/services/trackbacks/300568.html

Composite(組合)模式

 

意圖在與:讓用戶(hù)能夠使用統(tǒng)一的接口處理單個(gè)對(duì)象以及對(duì)象組合

 

理解:



Component類(lèi)抽象出Leaf類(lèi)和Composite類(lèi)共享的公共接口,在Composite類(lèi)中使用遞歸(iterator)定義關(guān)于對(duì)象組合的方法。

個(gè)人感覺(jué):composite模式就是定義一個(gè)統(tǒng)一的接口既可以處理單個(gè)對(duì)象,又可以處理對(duì)象的組合。其中對(duì)組合對(duì)象的處理又不斷被細(xì)分到對(duì)其中所包含的單個(gè)對(duì)象的處理,(使用遞歸遍歷各個(gè)結(jié)點(diǎn))。



等牛奶的咖啡 2009-11-01 14:25 發(fā)表評(píng)論
]]>
Short類(lèi)及其方法的分析http://www.aygfsteel.com/coffee3236888/articles/300412.html等牛奶的咖啡等牛奶的咖啡Fri, 30 Oct 2009 12:29:00 GMThttp://www.aygfsteel.com/coffee3236888/articles/300412.htmlhttp://www.aygfsteel.com/coffee3236888/comments/300412.htmlhttp://www.aygfsteel.com/coffee3236888/articles/300412.html#Feedback0http://www.aygfsteel.com/coffee3236888/comments/commentRss/300412.htmlhttp://www.aygfsteel.com/coffee3236888/services/trackbacks/300412.html  1 /**   2  * 提供程序設(shè)計(jì)的基礎(chǔ)類(lèi)   3  */ ...  閱讀全文

等牛奶的咖啡 2009-10-30 20:29 發(fā)表評(píng)論
]]>
Byte類(lèi)及其方法的分析http://www.aygfsteel.com/coffee3236888/articles/300300.html等牛奶的咖啡等牛奶的咖啡Fri, 30 Oct 2009 01:16:00 GMThttp://www.aygfsteel.com/coffee3236888/articles/300300.htmlhttp://www.aygfsteel.com/coffee3236888/comments/300300.htmlhttp://www.aygfsteel.com/coffee3236888/articles/300300.html#Feedback0http://www.aygfsteel.com/coffee3236888/comments/commentRss/300300.htmlhttp://www.aygfsteel.com/coffee3236888/services/trackbacks/300300.html  1 /**   2  * 提供程序設(shè)計(jì)的基礎(chǔ)類(lèi)   3  */ ...  閱讀全文

等牛奶的咖啡 2009-10-30 09:16 發(fā)表評(píng)論
]]>
Number類(lèi)及其方法的分析http://www.aygfsteel.com/coffee3236888/articles/300297.html等牛奶的咖啡等牛奶的咖啡Fri, 30 Oct 2009 01:04:00 GMThttp://www.aygfsteel.com/coffee3236888/articles/300297.htmlhttp://www.aygfsteel.com/coffee3236888/comments/300297.htmlhttp://www.aygfsteel.com/coffee3236888/articles/300297.html#Feedback0http://www.aygfsteel.com/coffee3236888/comments/commentRss/300297.htmlhttp://www.aygfsteel.com/coffee3236888/services/trackbacks/300297.html 1 /**
 2  * 提供程序設(shè)計(jì)的基礎(chǔ)
 3  */
 4 package java.lang;
 5 
 6 /**
 7  * 抽象類(lèi) Number
 8  * BigDecimal、BigInteger、Byte、Double、Float、Integer、Long 和 Short 類(lèi)的超類(lèi)
 9  */
10 public abstract class Number implements java.io.Serializable {
11 
12     /** 表明類(lèi)的不同版本間的兼容性 */
13     private static final long serialVersionUID = -8742448824652078965L;
14 
15     /**
16      * 以 int 形式返回指定的數(shù)值
17      */
18     public abstract int intValue();
19 
20     /**
21      * 以 long 形式返回指定的數(shù)值
22      */
23     public abstract long longValue();
24 
25     /**
26      * 以 float 形式返回指定的數(shù)值
27      */
28     public abstract float floatValue();
29 
30     /**
31      * 以 double 形式返回指定的數(shù)值
32      */
33     public abstract double doubleValue();
34 
35     /**
36      * 以 byte 形式返回指定的數(shù)值
37      */
38     public byte byteValue() {
39         return (byte) intValue();
40     }
41 
42     /**
43      * 以 short 形式返回指定的數(shù)值
44      */
45     public short shortValue() {
46         return (short) intValue();
47     }
48 }
49 

等牛奶的咖啡 2009-10-30 09:04 發(fā)表評(píng)論
]]>
Facade(外觀)模式http://www.aygfsteel.com/coffee3236888/articles/300251.html等牛奶的咖啡等牛奶的咖啡Thu, 29 Oct 2009 11:48:00 GMThttp://www.aygfsteel.com/coffee3236888/articles/300251.htmlhttp://www.aygfsteel.com/coffee3236888/comments/300251.htmlhttp://www.aygfsteel.com/coffee3236888/articles/300251.html#Feedback0http://www.aygfsteel.com/coffee3236888/comments/commentRss/300251.htmlhttp://www.aygfsteel.com/coffee3236888/services/trackbacks/300251.html

Facade(外觀)模式

 

旨在提供一個(gè)接口,使子系統(tǒng)更加容易使用

 

Before Facade

 


Using Facade

 

Facade模式 與 Adapter模式

相似:為既存的類(lèi)提供界面統(tǒng)一的接口,以供外部類(lèi)調(diào)用

不同:Facade模式的目的是簡(jiǎn)化調(diào)用關(guān)系

     Adapter模式是為不同的模塊/子系統(tǒng)提供一個(gè)統(tǒng)一的接口(支持多態(tài)),旨在將一個(gè)或多個(gè)已經(jīng)存在的不統(tǒng)一的接口轉(zhuǎn)化為另一個(gè)統(tǒng)一的接口



等牛奶的咖啡 2009-10-29 19:48 發(fā)表評(píng)論
]]>
Adapter(適配器)模式http://www.aygfsteel.com/coffee3236888/articles/300225.html等牛奶的咖啡等牛奶的咖啡Thu, 29 Oct 2009 10:37:00 GMThttp://www.aygfsteel.com/coffee3236888/articles/300225.htmlhttp://www.aygfsteel.com/coffee3236888/comments/300225.htmlhttp://www.aygfsteel.com/coffee3236888/articles/300225.html#Feedback0http://www.aygfsteel.com/coffee3236888/comments/commentRss/300225.htmlhttp://www.aygfsteel.com/coffee3236888/services/trackbacks/300225.html

Adapter(適配器)模式

 

旨在保留現(xiàn)有類(lèi)所提供的服務(wù),向客戶(hù)提供接口,以滿(mǎn)足客戶(hù)的期望

即存在方法類(lèi),并可以提供給客戶(hù)的需求接口

 

理解1.類(lèi)適配器

通過(guò)繼承得到已存方法類(lèi)的方法使用權(quán)去實(shí)現(xiàn)所需的客戶(hù)接口

 

理解2.對(duì)象適配器

擴(kuò)展一個(gè)客戶(hù)所需的目標(biāo)類(lèi),并把它委派給一個(gè)現(xiàn)有的方法類(lèi)去實(shí)現(xiàn)


區(qū)別:

   類(lèi)適配器是擴(kuò)展一個(gè)現(xiàn)有的類(lèi),并實(shí)現(xiàn)一個(gè)目標(biāo)接口

   對(duì)象適配器是擴(kuò)展一個(gè)目標(biāo)類(lèi),并把它委派給一個(gè)現(xiàn)有的類(lèi)



等牛奶的咖啡 2009-10-29 18:37 發(fā)表評(píng)論
]]>
關(guān)于Object類(lèi)方法的分析http://www.aygfsteel.com/coffee3236888/articles/299981.html等牛奶的咖啡等牛奶的咖啡Tue, 27 Oct 2009 13:50:00 GMThttp://www.aygfsteel.com/coffee3236888/articles/299981.htmlhttp://www.aygfsteel.com/coffee3236888/comments/299981.htmlhttp://www.aygfsteel.com/coffee3236888/articles/299981.html#Feedback0http://www.aygfsteel.com/coffee3236888/comments/commentRss/299981.htmlhttp://www.aygfsteel.com/coffee3236888/services/trackbacks/299981.html  1 /**
  2  * 提供程序設(shè)計(jì)的基礎(chǔ)類(lèi)
  3  */
  4 package java.lang;
  5 
  6 /**
  7  * 類(lèi)層次結(jié)構(gòu)的根類(lèi)
  8  */
  9 public class Object {
 10 
 11     /**
 12      * 注冊(cè)一些本地方法,具體實(shí)現(xiàn)在DLL中
 13      */
 14     private static native void registerNatives();
 15 
 16     static {
 17         registerNatives();
 18     }
 19 
 20     /**
 21      * 返回此 Object 的運(yùn)行時(shí)類(lèi)
 22      * 不可以被重寫(xiě)
 23      */
 24     public final native Class<?> getClass();
 25 
 26     /**
 27      * 返回對(duì)象的哈希碼值
 28      */
 29     public native int hashCode();
 30 
 31     /**
 32      * 指示其他某個(gè)對(duì)象是否與此對(duì)象相等,比較的是對(duì)象的引用
 33      * 有些子類(lèi)會(huì)重寫(xiě)該方法,以使其具有比較對(duì)象內(nèi)容的功能
 34      * 子類(lèi)在重寫(xiě)該方法的時(shí)候,通常要重寫(xiě) hashCode() 方法
 35      */
 36     public boolean equals(Object obj) {
 37         return (this == obj);
 38     }
 39 
 40     /**
 41      * 創(chuàng)建并返回此對(duì)象的一個(gè)副本
 42      * 這個(gè)方法被定義為 protected ,調(diào)用此方法需要實(shí)現(xiàn) Cloneable 接口
 43      * 否則拋出異常 CloneNotSupportedException
 44      */
 45     protected native Object clone() throws CloneNotSupportedException;
 46 
 47     /**
 48      * 返回該對(duì)象的字符串表示,類(lèi)名@對(duì)象哈希碼的無(wú)符號(hào)十六進(jìn)制
 49      */
 50     public String toString() {
 51         return getClass().getName() + "@" + Integer.toHexString(hashCode());
 52     }
 53 
 54     /**
 55      * 喚醒在此對(duì)象監(jiān)視器上等待的單個(gè)線(xiàn)程
 56      * 不可以被重寫(xiě)
 57      */
 58     public final native void notify();
 59 
 60     /**
 61      * 喚醒在此對(duì)象監(jiān)視器上等待的所有線(xiàn)程
 62      * 不可以被重寫(xiě)
 63      */
 64     public final native void notifyAll();
 65 
 66     /**
 67      * 在其他線(xiàn)程調(diào)用此對(duì)象的 notify()方法或notifyAll() 方法,或者超過(guò)指定的時(shí)間量前,導(dǎo)致當(dāng)前線(xiàn)程等待
 68      * 不可以被重寫(xiě)
 69      */
 70     public final native void wait(long timeout) throws InterruptedException;
 71 
 72     /**
 73      * 在其他線(xiàn)程調(diào)用此對(duì)象的 notify() 方法或 notifyAll()
 74      * 方法,或者其他某個(gè)線(xiàn)程中斷當(dāng)前線(xiàn)程,或者已超過(guò)某個(gè)實(shí)際時(shí)間量前,導(dǎo)致當(dāng)前線(xiàn)程等待
 75      * 不可以被重寫(xiě)
 76      */
 77     public final void wait(long timeout, int nanos) throws InterruptedException {
 78         if (timeout < 0) {
 79             throw new IllegalArgumentException("timeout value is negative");
 80         }
 81 
 82         if (nanos < 0 || nanos > 999999) {
 83             throw new IllegalArgumentException(
 84                     "nanosecond timeout value out of range");
 85         }
 86 
 87         if (nanos >= 500000 || (nanos != 0 && timeout == 0)) {
 88             timeout++;
 89         }
 90 
 91         wait(timeout);
 92     }
 93 
 94     /**
 95      * 在其他線(xiàn)程調(diào)用此對(duì)象的 notify() 方法或 notifyAll() 方法前,導(dǎo)致當(dāng)前線(xiàn)程等待
 96      * 不可以被重寫(xiě)
 97      */
 98     public final void wait() throws InterruptedException {
 99         wait(0);
100     }
101 
102     /**
103      * 對(duì)象的垃圾回收器調(diào)用此方法,具體實(shí)現(xiàn)的方法體由子類(lèi)重寫(xiě)此方法
104      */
105     protected void finalize() throws Throwable {
106     }
107 }
108 

等牛奶的咖啡 2009-10-27 21:50 發(fā)表評(píng)論
]]>
主站蜘蛛池模板: 巢湖市| 梁河县| 泾川县| 大港区| 西充县| 洛阳市| 加查县| 许昌县| 涞水县| 乐业县| 乡宁县| 博兴县| 历史| 西藏| 循化| 五莲县| 东安县| 万山特区| 武胜县| 靖西县| 益阳市| 阜阳市| 原平市| 平凉市| 东兴市| 桐柏县| 丰台区| 临武县| 庆城县| 怀宁县| 扶风县| 永泰县| 白银市| 郧西县| 天气| 乡宁县| 富裕县| 宁乡县| 屯昌县| 察雅县| 错那县|