<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    ivaneeo's blog

    自由的力量,自由的生活。

      BlogJava :: 首頁 :: 聯系 :: 聚合  :: 管理
      669 Posts :: 0 Stories :: 64 Comments :: 0 Trackbacks
    終于。。。。。我們來到繼承(inheritance)
    我們有數種影片類型,它們以不同的方式回答相同的問題。這聽起來很像subclasses的工作。我們可以建立Movie的三個subclasses,每個都有自己的計費法。

    這么一來我就可以運用多態(polymorphism)來取代switch語句了。很遺憾的是這里有個小問題,不能這么干。一部影片可以在生命期周期內修 改自己的分類,一個對象卻不能在生命周期內修改自己的分類,一個對象卻不能在生命周期內修改自己所屬的class。不過還是有一個解決方法:state pattern(模式)。加入這一層間接性,我們就可以在Price對象內進行subclassing動作,于是便可在任何必要時刻修改價格。

    為了引入state模式,我使用三個重構準則。首先運用Replace Type Code with State/Strategy(227),將[與型相依的行為](type code behavior)搬移至state模式內。然后運用Move Method(142)將switch語句移到Price class里頭。最后運用Replace Conditional with Polymorphism(255)去掉switch語句。
    posted on 2005-08-15 16:16 ivaneeo 閱讀(172) 評論(0)  編輯  收藏 所屬分類: refactoring-從地獄中重生
    主站蜘蛛池模板: 亚洲国产成人超福利久久精品| 成人免费一区二区三区| 亚洲精品无码久久久久牙蜜区| 深夜福利在线免费观看| 美丽姑娘免费观看在线观看中文版| 成人免费男女视频网站慢动作| 国产精品V亚洲精品V日韩精品| 亚洲国产成人综合| 黄色网址免费大全| 国产亚洲精品无码成人| 亚洲AV永久无码精品网站在线观看 | 亚洲永久中文字幕在线| 男女啪啪免费体验区| 国产精品二区三区免费播放心 | 人人狠狠综合久久亚洲88| 婷婷亚洲综合一区二区| 57pao国产成视频免费播放| 久久亚洲av无码精品浪潮| 亚洲精品无码成人| 免费亚洲视频在线观看| 亚洲国产人成在线观看| 黄瓜视频影院在线观看免费| 久久亚洲精品国产精品| 全黄大全大色全免费大片| 亚洲第一页综合图片自拍| 亚洲一区二区观看播放| 亚洲天堂免费在线| 亚洲精品无码久久久久秋霞 | 亚洲国产精品一区第二页| 久久免费看黄a级毛片| 99久久国产亚洲综合精品| 最近最好最新2019中文字幕免费| 亚洲精品无码久久不卡| 美女扒开屁股让男人桶爽免费| 永久免费视频v片www| 亚洲愉拍一区二区三区| 亚洲视频在线一区二区| 久草视频在线免费| 亚洲成a人片在线看| 国产大片91精品免费观看不卡| 亚洲精华国产精华精华液好用 |