日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程语言 > asp.net >内容正文

asp.net

《研磨设计模式》chap22 装饰模式Decorator(2)应用到场景

發(fā)布時(shí)間:2025/3/21 asp.net 23 豆豆
生活随笔 收集整理的這篇文章主要介紹了 《研磨设计模式》chap22 装饰模式Decorator(2)应用到场景 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.


//計(jì)算獎(jiǎng)金的組件接口 public abstract class Component { public abstract double calcPrize(String user,Date begin,Date end); }//基本的實(shí)現(xiàn)計(jì)算獎(jiǎng)金的類,也是被裝飾器裝飾的對(duì)象 public class ConcreteComponent extends Component{ public double calcPrize(String user, Date begin, Date end) {//只是一個(gè)默認(rèn)的實(shí)現(xiàn),默認(rèn)沒(méi)有獎(jiǎng)金return 0;} }public abstract class Decorator extends Component{ protected Component c; //持有被裝飾的組件對(duì)象 public Decorator(Component c){this.c = c;} public double calcPrize(String user, Date begin, Date end) {//轉(zhuǎn)調(diào)組件對(duì)象的方法return c.calcPrize(user, begin, end);} }//月獎(jiǎng)金:團(tuán)隊(duì)業(yè)務(wù) public class GroupPrizeDecorator extends Decorator{public GroupPrizeDecorator(Component c){super(c);}public double calcPrize(String user, Date begin, Date end) {//1:先獲取前面運(yùn)算出來(lái)的獎(jiǎng)金double money = super.calcPrize(user, begin, end);//2:然后計(jì)算當(dāng)月團(tuán)隊(duì)業(yè)務(wù)獎(jiǎng)金,先計(jì)算出團(tuán)隊(duì)總的業(yè)務(wù)額,然后再乘以1%//假設(shè)都是一個(gè)團(tuán)隊(duì)的double group = 0.0;for(double d : TempDB.mapMonthSaleMoney.values()){group += d;}double prize = group * 0.01;System.out.println(user+"當(dāng)月團(tuán)隊(duì)業(yè)務(wù)獎(jiǎng)金"+prize);return money + prize;} }//月獎(jiǎng)金:業(yè)務(wù) public class MonthPrizeDecorator extends Decorator{... }public class Client {public static void main(String[] args) {//先創(chuàng)建計(jì)算基本獎(jiǎng)金的類,這也是被裝飾的對(duì)象Component c1 = new ConcreteComponent();//然后對(duì)計(jì)算的基本獎(jiǎng)金進(jìn)行裝飾,這里要組合各個(gè)裝飾//說(shuō)明,各個(gè)裝飾者之間最好是不要有先后順序的限制,也就是先裝飾誰(shuí)和后裝飾誰(shuí)都應(yīng)該是一樣的//先組合普通業(yè)務(wù)人員的獎(jiǎng)金計(jì)算Decorator d1 = new MonthPrizeDecorator(c1);Decorator d2 = new SumPrizeDecorator(d1); //注意:這里只需要使用最后組合好的對(duì)象調(diào)用業(yè)務(wù)方法即可,會(huì)依次調(diào)用回去//日期對(duì)象都沒(méi)有用上,所以傳null就可以了double zs = d2.calcPrize("張三",null,null); System.out.println("==========張三應(yīng)得獎(jiǎng)金:"+zs);double ls = d2.calcPrize("李四",null,null);System.out.println("==========李四應(yīng)得獎(jiǎng)金:"+ls);//如果是業(yè)務(wù)經(jīng)理,還需要一個(gè)計(jì)算團(tuán)隊(duì)的獎(jiǎng)金計(jì)算Decorator d3 = new GroupPrizeDecorator(d2);double ww = d3.calcPrize("王五",null,null);System.out.println("==========王經(jīng)理應(yīng)得獎(jiǎng)金:"+ww); } }

1.1. 對(duì)象組合

public class A {public void a1(){System.out.println("now in A.a1");} }public class C2 {//創(chuàng)建A對(duì)象的實(shí)例 private A a = new A(); public void a1(){//轉(zhuǎn)調(diào)A對(duì)象的功能a.a1();}public void c11(){System.out.println("now in C2.c11");} }

1.2.初步總結(jié)

裝飾器中不僅僅是可以給被裝飾對(duì)象增加功能,還可以根據(jù)需要選擇是否調(diào)用被裝飾對(duì)象的功能,如果不調(diào)用被裝飾對(duì)象的功能,那就變成完全重新實(shí)現(xiàn)了,相當(dāng)于動(dòng)態(tài)修改了被裝飾對(duì)象的功能。
延伸另外一點(diǎn),各個(gè)裝飾器之間最好是完全獨(dú)立的功能,不要有依賴,這樣在進(jìn)行裝飾組合的時(shí)候,才沒(méi)有先后順序的限制.

總結(jié)

以上是生活随笔為你收集整理的《研磨设计模式》chap22 装饰模式Decorator(2)应用到场景的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 亚洲丁香| 人人搞人人 | 欧美日韩免费在线观看 | 亚洲精品三区 | 年代下乡啪啪h文 | 91禁看片 | 羞羞答答av| 亚洲一区欧洲二区 | 亚洲色图 在线视频 | 高贵麻麻被调教成玩物 | a毛片在线| 亚洲免费网站在线观看 | 青青青免费在线 | 亚色成人 | 国产精品国产三级国产aⅴ中文 | 老妇free性videosxx | 超碰青娱乐 | 乱子伦一区 | 日本视频免费观看 | 国产日韩欧美高清 | 欧美成人影音 | 伊人亚洲 | 麻豆区1免费 | 自拍偷拍欧美激情 | 欧美精品欧美极品欧美激情 | 成人精品一区二区三区四区 | 国产在线日韩 | 免费在线观看视频 | 神马午夜伦理影院 | 国产成人99 | 一眉道姑 电影 | 老牛嫩草二区三区观影体验 | 欧美久操 | 成人小视频免费观看 | 男女搞黄网站 | 国产一级在线免费观看 | 国产免费播放 | 91精彩刺激对白 | 精品国产乱码久久久久久闺蜜 | 成人欧美在线视频 | 久久中文字幕无码 | 亚洲天堂2014 | 欧美日韩高清一区二区 | 一区二区三区www污污污网站 | 亚洲成人精品在线观看 | 97在线播放免费观看 | 人人妻人人澡人人爽欧美一区双 | 国内精品亚洲 | 国产精品久久九九 | 欧美在线视频一区二区 | 亚洲乱码国产乱码精品 | 国产精品激情 | 国产一区二区h | 色悠久久综合 | 99黄色片 | av网站在线观看不卡 | av在线播放一区二区三区 | 中文字幕人成乱码熟女香港 | 久久久久久久久久久福利 | 国产精品无码乱伦 | 精品福利在线视频 | av网子 | 毛片在哪看 | 受虐m奴xxx在线观看 | 国产91精品一区二区 | 欧美色激情| 欧美日韩高清一区二区 国产亚洲免费看 | 久久9966 | 好色综合| 91av网址| www.一区| 美女扒开腿让人桶爽原神 | 亚洲一区二区三区欧美 | 在线视频日韩精品 | 男人天堂网站 | 国产一区二区三区视频播放 | 97xxxxx| 狠狠干av | 日韩精品自拍 | 亚洲天堂男人网 | 西西午夜 | 激情另类视频 | 国产伦精品一区二区三区视频网站 | 色天天色 | av首页在线 | 蜜臀av免费在线观看 | 亚洲视频一区二区三区在线观看 | 丁香九月婷婷 | 一区二区三区免费视频观看 | 亚洲第一天堂av | 日本护士取精xxxxxhd | 日本一区视频在线观看 | 国产精品第二十页 | 欧美一区二区三区视频 | 18禁一区二区 | 亚洲国产成人精品无码区99 | 嫩草一区二区三区 | 欧美区日韩区 | jizzjizz在线播放|