创建适配器模式,其中方法需要.NET中的不同对象

时间:2014-01-21 19:40:31

标签: c# .net adapter

我正在努力做出设计决定,希望你们其中一人可以帮助我。提前感谢您的时间。

我正在尝试创建一个可以使用类似产品的现有API的库。

ProducerA

属性:UserTypeA

操作:CreateMeeting(MeetingTypeA,UserTypeA)

ProducerB

属性:UserTypeB

操作:CreateMeeting(MeetingTypeB,UserTypeB)

AdapterInterface:

IMyAdapter

属性:IMyUserType

方法:CreateMeeting(IMyMeeting, IMyUserType)

生产者A的适配器:

ProducerAdapterA: IMyAdapter

方法:CreateMeeting( xxxx, xxxx)

我有一个接口IMyAdapter,它的实现为Producer(a/b)Adapter ...我的问题是每个方法的参数。

例如,ProducerA的{​​{1}}方法采用的会议类型与CreateMeeting ProducerB方法的GenerateMeeting不同。

我在我的Adapter相关库中创建了以下内容,以便能够为会议创建一个通用类:

MeetingType

IMeeting

IMeetingAdapterTypeA: IMeeting, IMeetingTypeA // IMeetingTypeA comes from producer's library

和producerB

MeetingAdapterTypeA : IMeetingAdapterTypeA

IMeetingAdapterTypeB: IMeeting, IMeetingTypeB

然而,这需要同时进行过多的强制转换操作,我的适配器的任何用户都应该知道这些强制转换。

所以我的问题是,有没有更好的方法来处理方法参数?

由于

0 个答案:

没有答案