Example #1
0
        static void Main(string[] args)
        {
            //模式中的角色

            //  3.1 目标接口(Target):客户所期待的接口。目标可以是具体的或抽象的类,也可以是接口。

            //  3.2 需要适配的类(Adaptee):需要适配的类或适配者类。

            //  3.3 适配器(Adapter):通过包装一个需要适配的对象,把原接口转换成目标接口。  

            // 注:在GoF的设计模式中,对适配器模式讲了两种类型,类适配器模式和对象适配器模式。
            //类适配只能通过接口实现,对象适配器,可以是接口,也可以是抽象类。


            //差别就是:对象适配器实现了客户端想要的接口(USB),在内部有一个被适配对象(PS2)的引用,通过组合实现适配功能。类适配器实现了客户端想要的接口(USB)和被适配对象接口(PS2),通过继承来实现适配功能。
            ISdCardClassAdapters sdCardClassAdapter = new MultipeAdapters();

            Console.WriteLine(sdCardClassAdapter.ReadDataFromUsbPort(new SDCard()));

            IHardDisk hdClassAdapter = new MultipeAdapters();

            Console.WriteLine(hdClassAdapter.ReadHardDiskDataFromUsbPort(new HardDisk()));

            SDCard scCard = new SDCard();
            SdCardInstanceAdapter sdCardInstanceAdapter = new SdCardInstanceAdapter(scCard);

            Console.WriteLine(sdCardInstanceAdapter.ReadDataFromUsbPort());

            Console.ReadKey();
        }
 public SdCardInstanceAdapter(SDCard sdCard)
 {
     _sdCard = sdCard;
 }
Example #3
0
 public string ReadDataFromUsbPort(SDCard sdCard)
 {
     return(sdCard.ReadData());
 }