我试图了解适配器模式实现是否依赖于接口实现。根据我的阅读,当我需要将类的接口转换为客户期望的另一个接口时,我应该使用适配器。
有人告诉我 3 芯插头使用适配器连接到两芯插头的经典示例...
因此,据我了解,如果类中的某些方法具有具有特定参数签名的方法,并且我想用需要更多(或更少)参数的逻辑包装它,那么我应该实现适配器模式。
从我看到的所有示例中,正确的方法是创建一个适配器类,该类实现具有所需方法签名的接口,并将被收养者作为适配器类中的成员。然后,我可以通过实现的接口方法调用adpotee方法并输入逻辑。
问题是,如果我只需要使用一个收养类,为什么要使用接口?放弃接口位并仅将被收养者作为成员并以“独立”方法实现所需的逻辑不是更简单吗?
是否需要在这里实现接口方法才能使适配器模式有效?
public class PostStatusAdapter
{
public interface IpostStatus
{
void Post(string i_Post, string i_Password);
}
public class UserAdapter : IpostStatus
{
User Adoptee = new User();
void IpostStatus.Post(string i_Post, string i_Password)
{
if (PasswordCorrect(i_Password))
{
Adoptee.PostStatus(i_Post);
}
}
private bool PasswordCorrect(string i_Password) { ... }
}
}