簡單記一次裝飾者模式

2021-10-04 22:26:33 字數 2031 閱讀 6142

package com.cn.sehjimoshi.adapter;

/** * created by 任星 on 2020/4/12. 被裝飾者抽象類

*/public abstract class drink

public void setdes(string des)

public float getprice()

public void setprice(float price)

}

package com.cn.sehjimoshi.adapter;

/** * created by 任星 on 2020/4/12. 中間加了一層,用來統一處理所有種類咖啡公用的方法

*/public class coffee extends drink

}

package com.cn.sehjimoshi.adapter;

/** * created by 任星 on 2020/4/12.

*/public class longblack extends coffee

}

package com.cn.sehjimoshi.adapter;

/** * created by 任星 on 2020/4/12.

*/public class shortblack extends coffee

}

package com.cn.sehjimoshi.adapter;

/** * created by 任星 on 2020/4/12.

*/public class espresso extends coffee

}

package com.cn.sehjimoshi.adapter;

/** * created by 任星 on 2020/4/12.

*/public class decorator extends drink

@override

public float cost()

@override

public string getdes()

}

package com.cn.sehjimoshi.adapter;

/** * created by 任星 on 2020/4/12. 具休的裝飾者類

*/public class milk extends decorator

}

package com.cn.sehjimoshi.adapter;

/** * created by 任星 on 2020/4/12. 具休的裝飾者類

*/public class soy extends decorator

}

package com.cn.sehjimoshi.adapter;

/** * created by 任星 on 2020/4/12. 具休的裝飾者類

*/public class chocolate extends decorator

}

package com.cn.sehjimoshi.adapter;

/** * created by 任星 on 2020/4/12.

*/public class test

}

執行結果

牛奶 1.0 美式咖啡

6.0******************************

牛奶 1.0 牛奶 1.0 美式咖啡

7.0******************************

豆漿 1.5 牛奶 1.0 牛奶 1.0 美式咖啡

8.5process finished with exit code 0

記一次觀察者模式的使用

一 引入 資料同步 把問題簡化為下面7個類 需求 資料在songsubject中的改變,可以通知三個觀察者,並同時更新資料 問題抽離 二 觀察者模式 一對多 一人提供資訊 subject 多人需求資訊 observer 資訊體 t t發生改變時,由subject統一提醒observer 1.介面層 ...

記一次觀察者模式的使用

一 引入 把問題簡化為下面7個類 需求 資料在songsubject中的改變,可以通知三個觀察者,並同時更新資料 二 觀察者模式 一對多 一人提供資訊 subject 多人需求資訊 observer 資訊體 t t發生改變時,由subject統一提醒observer 1.介面層 observer介面...

裝飾者模式簡單示例 一

例項參考於 headfirst設計模式 public abstract class beverage cost必須在子類中實現 public abstract double cost public abstract class condimentdecorator extends beverage ...