gpt4 book ai didi

c# - 接口(interface)实现而不暴露实现接口(interface)的类

转载 作者:行者123 更新时间:2023-11-30 21:09:07 25 4
gpt4 key购买 nike

嗨,我们如何在实时场景中实现接口(interface)?

这是我的情况

我制作了一个有 2 个方法的 IPayPal 接口(interface)

void SaleTransaction();
void VoidTransaction();

现在我有一个实现此服务的 PayPal 类。

class PayPal:IPayPal{

public void SaleTransaction(){
// Implementation happens here

}

public void VoidTransaction(){
// Implementation happens here

}



}

现在我有一个请求来自 PayPal 服务的服务

让我们说

class Service{

IPayPal pp=null;


static void Main(){

pp=new PayPal();
//Now i do not want to expose all the methods in my class PayPal
// is there any other way to just show pp.SaleOneTransaction() method?? i donot want the //PayPal class to be present in this Program..

//Please tell me how to acheive this.
}

}

即请告诉我一种初始化接口(interface)类的方法,而无需透露实现该接口(interface)的类。

谢谢

最佳答案

我建议:

  1. 了解 dependency injection以及它如何帮助您以松散耦合的方式轻松解决依赖关系。
  2. 接口(interface)名称“IPayPal”恕我直言,这个名称不是很好。它非常特定于一个支付提供商。假设明天你想实现另一种不是 paypal 的支付方式,但你想使用相同的接口(interface)。我认为名称应该是通用的,例如“IPaymentProvider”,当前的实现是 PayPal(但使用该接口(interface)的其他类不应该关心或知道这一点)。

祝你好运!

关于c# - 接口(interface)实现而不暴露实现接口(interface)的类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9206362/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com