首页 > 代码库 > 适配器模式

适配器模式

类的适配器模式

class CIntegerSortAdapter:DoubleSort,Sortable

    {

        public int[] Sort(int[] number)

        {

            double[] dnum = new double[number.Length];

            int[] inum = new int[number.Length];

            for (int i = 0; i < number.Length; i++)

            {

                dnum[i] = number[i] * 1.0;

            }

            dnum = this.Sort(dnum);

            for (int i = 0; i < dnum.Length; i++)

            {

                inum[i] = (int)dnum[i];

            }

            return inum;

        }

    }

对象的适配器模式

class OIntegerSortAdapter:Sortable

    {

        private DoubleSort doubleSort = new DoubleSort();

        public int[] Sort(int[] number)

        {

            double[] dnum = new double[number.Length];

            int[] inum = new int[number.Length];

            for (int i = 0; i < number.Length; i++)

            {

                dnum[i] = number[i] * 1.0;

            }

            dnum = doubleSort.Sort(dnum);

            for (int i = 0; i < dnum.Length; i++)

            {

                inum[i] = (int)dnum[i];

            }

            return inum;

        }

    }

 

适配器模式将一个类的接口转换成客户希望的另外一个接口。Adapter模式使得原本由于接口不兼容而不能一起工作的那些类可以在一起工作。适配器模式复用了已有的类,体现了代码的重用性。将目标类和适配者类解耦,通过引入一个适配器类重用现有的适配者类,而无需修改原有代码。