<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 閱讀(178) 評論(0)  編輯  收藏 所屬分類: refactoring-從地獄中重生
    主站蜘蛛池模板: 亚洲黄网在线观看| 亚洲乱码一区二区三区国产精品| 亚洲精品第一国产综合亚AV| 亚洲高清视频免费| 亚洲美女aⅴ久久久91| h视频在线免费看| 亚洲视频在线一区二区三区| 免费A级毛片无码视频| 亚洲高清免费在线观看| 亚洲毛片免费视频| wwwxxx亚洲| 日本一区二区在线免费观看| 国产性生交xxxxx免费| 亚洲国产人成在线观看69网站 | 91久久成人免费| 噜噜噜亚洲色成人网站∨| 57pao国产成永久免费视频| 亚洲电影唐人社一区二区| 国产片AV片永久免费观看| 亚洲人xxx日本人18| 国产成人免费a在线视频app| 国产成人亚洲综合在线| 国产亚洲成人在线播放va| 大地资源在线资源免费观看| 亚洲一区二区影院| 成人毛片视频免费网站观看| 色婷婷六月亚洲综合香蕉| 亚洲区不卡顿区在线观看| 日韩免费的视频在线观看香蕉| 亚洲欧洲高清有无| 免费国产不卡午夜福在线| 三级网站在线免费观看| 亚洲欧洲日韩综合| 又大又黄又粗又爽的免费视频| 中文字幕看片在线a免费| 亚洲嫩草影院在线观看| 伊人久久亚洲综合影院 | av大片在线无码免费| 美女隐私免费视频看| 久久久久亚洲AV无码专区首| 国产99精品一区二区三区免费|