Patterns in SOME –Adapter (class)
来源:互联网 发布:淘宝网3515强人女鞋 编辑:程序博客网 时间:2024/05/22 11:50
Code in C#:
namespace Adapter_DesignPattern
{
using System;
class FrameworkXTarget
{
virtual public void SomeRequest(int x)
{
// normal implementation of SomeRequest goes here
}
}
class FrameworkYAdaptee
{
public void QuiteADifferentRequest(string str)
{
Console.WriteLine("QuiteADifferentRequest = {0}", str);
}
}
class OurAdapter : FrameworkXTarget
{
private FrameworkYAdaptee adaptee = new FrameworkYAdaptee();
override public void SomeRequest(int a)
{
string b;
b = a.ToString();
adaptee.QuiteADifferentRequest(b);
}
}
///<summary>
/// Summary description for Client.
///</summary>
public class Client
{
void GenericClientCode(FrameworkXTarget x)
{
// We assume this function contains client-side code that only
// knows about FrameworkXTarget.
x.SomeRequest(4);
// other calls to FrameworkX go here
// ...
}
public static int Main(string[] args)
{
Client c = new Client();
FrameworkXTarget x = new OurAdapter();
c.GenericClientCode(x);
return 0;
}
}
}
Code in SOME:
CFrameworkXTarget
v_SomeRequest(int)
CFrameworkYAdaptee
QuiteADifferentRequest(string)
COurAdapter : CFrameworkXTarget,->CFrameworkYAdaptee[_adaptee.()]
o_SomeRequest(int)
CClient
GenericClientCode(CFrameworkXTarget)
main
CClient.main
{
CClient c.();
CFrameworkXTarget x<COurAdapter>.();
c.GenericClientCode(x)
{
x.SomeRequest<COurAdapter>(a[4]) //4 is not index of array,it is just a real object that would be passed by parameter a
{
<%
string b;
b = a.ToString();
%>
_adaptee.QuiteADifferentRequest(b);
};
};
}
- Patterns in SOME –Adapter (class)
- Patterns in SOME –State
- Patterns in SOME –Observer
- Patterns in SOME –Memento
- Patterns in SOME –Mediator
- Patterns in SOME –Iterator
- Patterns in SOME – Command
- Patterns in SOME –Interpreter
- Patterns in SOME –Proxy
- Patterns in SOME –Flyweight
- Patterns in SOME –Facade
- Patterns in SOME –Decorator
- Patterns in SOME –Composite
- Patterns in SOME –Bridge
- Patterns in SOME –Singleton
- Patterns in SOME –Prototype
- Patterns in SOME –Builder
- Patterns in SOME –Chain Of Responsibility
- “验证时出错。HRESULT='80040155'”
- 如何在程序启动的时候自动挂接Debugger
- 显示时间的最简单的JS
- 无题
- 分布式SOA基础架构崭露头角
- Patterns in SOME –Adapter (class)
- XML Schema用法
- 版本控制的重要性
- VS20005, Smart device vc++ , 不再支持的类
- Visual C++中DDB与DIB位图编程全攻略
- Patterns in SOME –Singleton
- 软件不是工业
- C++标识符
- Patterns in SOME –Prototype