`

我的设计模式--适配器2

阅读更多
替身,也就是导演想要的那个人:
是个好MM,我是这么认为的。
public class HH implements GoodMM
{
        private ZhangZhiYi xiaozhang;
       
        //会演戏,叫章子怡来演高难度情感戏
        public void play()
        {
              xiaozhang.play(); 
        }

         //有胆量,危险戏只好替身上了
        public void brave()
        {
                //good
        }       

}

万恶的导演出场了(我也想潜规则)
public class Director
{
        public static void main(String[] arg0)
        {
               GoodMM mm =  new HH();
               mm.play();                //演感情戏
               mm.brave();               //跳崖
        }
}

这个就是传说中的对象适配器啦。是不是很简单。
可以如果我们找不到替身怎么办呢?还好,小章MM还有个女儿。从哪里来的呢?这个就不能说太细了。

好,章女儿--小章出场.即继承章MM的演技,有很勇敢,敢跳崖,好姑娘。

public class SmallZhang extends ZhangZhiYi implements GoodMM
{
        public void brave()
        {
               //跳崖了。。。。。。。
        }
}

那这个时候导演是不是很满意呢,不用章MM,只用小MM就可以了。是不是有点太残忍
public class Director
{
        public static void main(String[] arg0)
        {
               GoodMM mm =  new SmallZhang();
               mm.play();                //演感情戏,因为是继承之她妈,所以她妈会什么她也会什么
               mm.brave();               //跳崖
        }
}


最后需要说一点就是默认适配器,该适配器就是啥都不干,只是空实现接口,任何子类继承该空实现,然后覆盖自己需要的方法。具体以后再详解

最后我要强调一点,没有一个系统架构师会在系统设计的时候采用适配器模式。所以,请不要再开始设计一个系统的时候去采用适配器模式。
更多的是用在系统扩展上,在兼容一些与原系统相悖的地方。
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics