我用谷歌搜索并进行了调查,但我仍然需要一些澄清:适配器类和控制器类是否相似?如果不是,它们有何不同?
请解释一下。
适配器是一种提供接口或抽象类的默认(通常为空)实现的模式。例如
MouseAdapter
提供了 MouseListener
接口的空实现。它很有用,因为通常您并不真正使用接口声明的所有方法,因此直接实现接口非常冗长。
控制器是 MVC - 模型-视图-控制器模式的一部分。与Adapter没有直接关系。
适配器的工作主要是使某些对象在需要不同接口的情况下工作。
控制器(MVC 意义上的)相似之处在于它是模型类和视图类之间的中介,但不同之处在于它通常包含更多关于程序如何工作的知识。控制器的作用不仅仅是使一个接口适应另一个接口。
假设您有一个具有
setColor(red, green, blue)
方法的 Color 类。您还有一些需要 setColor(hue, saturation, value)
方法的代码。您可以创建一个适配器类来包装您的 Color 类并根据您的 Color 类提供的方法实现预期的方法。
ex---如果我们扩展 GenericServlet(AC) 那么我们就提供 Service() 方法的实现,而不是实现 Servlet(I),我们不需要为剩余的方法提供实现..
通用类 充当 Servlet(I) 的 ADAPTER 类。
适配器类提供事件侦听器接口中所有方法的默认实现。当您只想处理由特定事件侦听器接口处理的少数事件时,适配器类非常有用。您可以通过扩展适配器类之一来定义一个新类,并仅实现那些与您相关的事件。
适配器类提供事件监听器类中所有方法的默认实现,方法在该类中以空主体定义; 我们可以通过继承该类来仅覆盖该类所需的方法。 适配器类减少了代码行数。
每个监听器接口都有1个或多个方法。包含超过 1 个方法的接口具有适配器类...每个适配器类都包含该接口的所有方法。 如果我们在类中编写接口的方法,那么您应该编写所有方法...侦听器的一些接口包含超过 6 个方法...所以为了减轻程序员的负担,他们发明了这些适配器类所以我们将这些适配器类扩展到我们的类中,并编写我们的方法,因此它会覆盖适配器方法....因此我们失去了编写所有方法的风险
Android 中的适配器对象为(示例)列表提供视图元素 - 因此它们显然属于 MVC 范例的视图部分
适配器类的优点:
通过为本质上相同的方法赋予不同的名称(即push(Stack)而不是add(ArrayList))来适应另一个类的方法的类称为适配器类