[转载] C#面向对象设计模式纵横谈——7. Adapter适配器模式
2011-06-14 22:21
288 查看
主讲:李建忠
来源:http://www.microsoft.com/china/msdn/events/webcasts/shared/webcast/consyscourse/CsharpOOD.aspx
EmployeeAdapterclass Employee
{
int age;
string name;
public int Age
{
get{return this.age;}
set{this.age=value;}
}
}
class EmployeeAdapter:IComparable
{
public int Compare(object obj1,object obj2)
{
if(obj1.GetType()!=typeof(Employee)
||obj2.GetType()!=typeof(Employee))
{
throw new Exception();
}
Employee e1=(Employee)obj1;
Employee e2=(Employee)obj2;
if(e1.Age==e2.Age)
{
return 0;
}
else if(e1.Age>e2.Age)
{
return 1;
}
else if(e1.Age<e2.Age)
{
return -1;
}
}
}
class App
{
public static void Main()
{
Employee[] employees=new Employee[100];
//...
ArrayList.Sort(employees,new EmployeeAdapter())
}
}[/code]
来源:http://www.microsoft.com/china/msdn/events/webcasts/shared/webcast/consyscourse/CsharpOOD.aspx
EmployeeAdapterclass Employee
{
int age;
string name;
public int Age
{
get{return this.age;}
set{this.age=value;}
}
}
class EmployeeAdapter:IComparable
{
public int Compare(object obj1,object obj2)
{
if(obj1.GetType()!=typeof(Employee)
||obj2.GetType()!=typeof(Employee))
{
throw new Exception();
}
Employee e1=(Employee)obj1;
Employee e2=(Employee)obj2;
if(e1.Age==e2.Age)
{
return 0;
}
else if(e1.Age>e2.Age)
{
return 1;
}
else if(e1.Age<e2.Age)
{
return -1;
}
}
}
class App
{
public static void Main()
{
Employee[] employees=new Employee[100];
//...
ArrayList.Sort(employees,new EmployeeAdapter())
}
}[/code]
相关文章推荐
- [转载] C#面向对象设计模式纵横谈——13. Proxy代理模式
- [转载] C#面向对象设计模式纵横谈——5. Factory Method工厂方法模式
- [转载] C#面向对象设计模式纵横谈——3. AbstractFactory抽象工厂模式
- [转载] C#面向对象设计模式纵横谈——4. Builder生成器模式
- [转载] C#面向对象设计模式纵横谈——14 Template Method模板方法
- [转载] C#面向对象设计模式纵横谈——2. Singleton单件模式
- [转载] C#面向对象设计模式纵横谈——9. Composite组合模式
- [转载] C#面向对象设计模式纵横谈——12. Flyweight享元模式
- [转载] C#面向对象设计模式纵横谈——6. Prototype原型模式
- [转载] C#面向对象设计模式纵横谈——11. Facede外观模式
- [转载] C#面向对象设计模式纵横谈——8. Bridge桥接模式
- [转载] C#面向对象设计模式纵横谈——10. Decorator装饰模式
- C#面向对象设计模式纵横谈——6.Prototype 原型模式(创建型模式)
- C#面向对象设计模式纵横谈(三)--- Builder 生成器(创建型模式)
- C#面向对象设计模式纵横谈 学习笔记18 Iterator迭代器模式(行为型模式)
- C#面向对象设计模式纵横谈 笔记3 抽象工厂(创建型模式)
- C#面向对象设计模式纵横谈(1) 面向对象设计模式与原则
- C#面向对象设计模式纵横谈 学习笔记4 Builder 生成器(创建型模式)
- C#面向对象设计模式纵横谈 学习笔记7 Adapter适配器(结构型模式)
- C#面向对象设计模式纵横谈(1)