Cha*_*tin 10
简单地说,您可以为要执行的操作定义接口,并在运行时传递实现该接口的对象.因此,例如,您可能通过本地共享内存和远程TCP/IP进行通信.为您打造一个接口,调用它IConnection有send()和recv(),然后在两个类实现它,LocalConnection和LongDistanceConnection.
然后你可以说其他一些需要沟通的课程TelephoneCall.
要拨打本地电话,你可以
TelephoneCall call = new TelephoneCall(new LocalConnection());
Run Code Online (Sandbox Code Playgroud)
要做长途电话,你可以
TelephoneCall call = new TelephoneCall(new LongDistanceConnection());
Run Code Online (Sandbox Code Playgroud)
并且构造函数的签名是
public TelephoneCall(IConnection connect);
Run Code Online (Sandbox Code Playgroud)