欢迎访问移动开发之家(rcyd.net),关注移动开发教程。移动开发之家  移动开发问答|  每日更新
页面位置 : > > 内容正文

Win8.1应用开发之适配器模式(C#实现),

来源: 开发者 投稿于  被查看 32088 次 评论:97

Win8.1应用开发之适配器模式(C#实现),


实际上适配器模式是用于解耦。设想一下我们的程序模块A在与模块B打交道时,需要在许多地方多次使用B中某个类的方法,而负责开发B的程序猿Tom还未完全实现该类,会随时更改该类中的方法,那么当Tom在修改时,负责A的攻城狮Jerry不得不进行苦逼的修改。聪明的项目经理Dabao想出了好方法——适配器模式,于是在Tom和Jerry之间进行了如下设计:

 /// <summary>
    /// B中目前只定义了英雄KASS
    /// </summary>
    public class KASS
    {
        public void R()
        {
            //KASS的技能
        }
    }


        /// <summary>
    /// 定义英雄的接口
    /// </summary>
    public class Hero
    {
        /// <summary>
        /// 使用virtual修饰以便子类可以重写
        /// </summary>
        public virtual void attack()
        {
            //英雄进攻的方法和招数
        }
    }
 

    /// <summary>
    /// 定义适配器
        /// B暂时提供英雄KASS
    /// </summary>
    public class HeroAdapter:Hero
    {
        // 建立一个私有的英雄KASS对象
        private KASS kass = new KASS();

        /// <summary>
        /// 通过重写,表面上调用attack()方法,实际调用R()
        /// </summary>
        public override void attack()
        {
            kass.R();
        }
    }
        
        
        /// <summary>
    /// Tom负责的模块A
    /// </summary>
        public class A
    {
        public static void Main(string[] args)
        {
            // A需要借助B中的英雄完成进攻的任务,但B还未定下是那个英雄,所以不能直接创建特定英雄的对象
                        // 但我们知道肯定要一个英雄,并且需要这个英雄去进攻
            Hero hero = new HeroAdapter();
            hero.attack();

            //...
        }
    }

详细说明:http://wp.662p.com/thread-8244-1-1.html


在WIN81中KEIL4 出现The ARM C\C++ Compiler 已停止工作怎解决?

解决办法:
Windows系统用户名使用英文用户名,并使用英文路径。
 

win81下什c语言编译器好,

VC++6.0,我就是这个。TC太老,VS是用来做大型软件的。



 

相关文章

    暂无相关文章
相关频道:

用户评论