Design patterns 不使用接口的适配器模式

Design patterns 不使用接口的适配器模式,design-patterns,interface,adapter,Design Patterns,Interface,Adapter,我试图理解适配器模式的实现是否依赖于接口实现。 从我所读到的内容来看,当我需要将一个类的接口转换为客户端期望的另一个接口时,我应该使用适配器 有人告诉我一个典型的例子,三叉插头使用适配器连接到两叉插头 因此,据我所知,如果类中的某个方法有一个具有特定参数签名的方法,并且我想用需要更多(或更少)参数的逻辑来包装它,那么我应该实现适配器模式 从所看到的所有示例中,正确的方法是创建一个适配器类,该类使用所需的方法签名实现接口,并将被采纳者作为适配器类中的成员。 然后,我可以通过实现的接口方法调用ADP

我试图理解适配器模式的实现是否依赖于接口实现。 从我所读到的内容来看,当我需要将一个类的接口转换为客户端期望的另一个接口时,我应该使用适配器

有人告诉我一个典型的例子,三叉插头使用适配器连接到两叉插头

因此,据我所知,如果类中的某个方法有一个具有特定参数签名的方法,并且我想用需要更多(或更少)参数的逻辑来包装它,那么我应该实现适配器模式

从所看到的所有示例中,正确的方法是创建一个适配器类,该类使用所需的方法签名实现接口,并将被采纳者作为适配器类中的成员。 然后,我可以通过实现的接口方法调用ADPOTE方法并输入逻辑

问题是,如果我只需要使用一个被采纳者类,为什么要使用接口? 删除接口位并将被采纳者作为成员并在“独立”方法中实现所需的逻辑不是更简单吗

要使适配器模式有效,这里是否需要实现接口方法?
是的,如果它实现了“外部”接口或抽象API,那么本质上它就是一个适配器——不管“内部”连接是形式化为接口还是抽象API

因此,当它钩住一个特定的内部实现时,它仍然是一个适配器,可以实现/响应外部接口的契约和方法

如果您在适配器本身中实现了重要的逻辑,那么它可能不再是一个适配器——那么它可能会成为一个委托


代理可以自己实现功能,特别是通过将其委托给引用的对象。

首先,感谢快速响应:)您认为在这里使用适配器模式是处理这种特定情况的正确方法吗?我希望用户登录检查是应用程序范围内的过滤器,最常见的是,然后,用户凭据将在应用程序范围内可用。在webapp中,UserLoginFilter将是一个重定向到登录页面的
javax.servlet.Filter
org.springframework.web.servlet.HandlerInterceptor
。登录后的用户凭据将存储在HttpSession中。老实说,我不太确定上面示例中的“已经有用户对象”和“没有检查密码”的组合。至于设计模式——UserLoginFilter作为servlet过滤器或SpringWeb拦截器将是实际servlet或控制器请求处理的“委托”,检查您是否拥有有效的登录用户。
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) { ... }
    }
}