Я искал Google и исследовал, но мне все еще нужно уточнить: похожий класс адаптера и класс контроллера? Если нет, то каким образом они отличаются?
Просьба объяснить.
Я искал Google и исследовал, но мне все еще нужно уточнить: похожий класс адаптера и класс контроллера? Если нет, то каким образом они отличаются?
Просьба объяснить.
Адаптер - это шаблон, который предоставляет стандартную (часто пустую) реализацию интерфейса или абстрактного класса. Например, MouseAdapter
обеспечивает пустую реализацию интерфейса MouseListener
. Это полезно, потому что очень часто вы не используете все методы, объявленные интерфейсом, поэтому реализация интерфейса напрямую очень много.
Контроллер является частью шаблона MVC - Model-View-Controller. Нет прямого отношения к адаптеру.
Задача адаптера состоит прежде всего в том, чтобы заставить какой-то объект работать в ситуации, когда ожидается другой интерфейс.
Контроллер (в смысле MVC) похож на то, что он является посредником между классами модели и представления, но отличается тем, что он в целом воплощает гораздо больше знаний о том, как должна работать программа. Контроллер не просто адаптирует один интерфейс к другому.
Скажем, у вас есть класс Color, у которого есть метод setColor(red, green, blue)
. У вас также есть код, который ожидает метод setColor(hue, saturation, value)
. Вы можете создать класс адаптера, который обертывает ваш класс Color и реализует ожидаемый метод с точки зрения того, который предоставляет класс Color.
Класс адаптера предоставляет стандартную реализацию всех методов в интерфейсе прослушивателя событий. Классы адаптеров очень полезны, если вы хотите обработать только некоторые из событий, которые обрабатываются конкретным интерфейсом прослушивателя событий. Вы можете определить новый класс, расширив один из классов адаптера и реализуя только те события, которые вам важны.
ex --- вместо реализации Servlet (I), если мы расширим GenericServlet (AC), тогда мы обеспечиваем реализацию метода Service(), нам не нужно предоставлять реализацию для остального meyhod..
Общий класс Действует как класс ADAPTER для Servlet (I).
класс адаптера предоставляет стандартные реализации всех методов в классе слушателя событий, методы определяют в этом классе с пустым телом; мы можем переопределить только требуемые методы этого класса, наследуя этот класс. Класс адаптера уменьшает количество строк кодирования.
Адаптивные объекты в android предоставляют элементы представления для (примерных) списков - поэтому они явно принадлежат к просмотру части парадигмы MVC
Преимущества адаптера:
Класс, который адаптирует методы другого класса, задавая разные имена по существу тем же самым методам (т.е. push (Stack) вместо add (ArrayList)) называется классом адаптера
каждый интерфейс прослушивателя имеет 1 или несколько методов. интерфейсы, которые содержат более одного метода, имеют классы адаптеров... каждый класс адаптера содержит все методы этого интерфейса. если мы пишем метод интерфейса в классе, тогда вы должны написать все методы... некоторые из интерфейсов слушателя содержат более 6 методов.... поэтому, чтобы иметь меньше нагрузки на программиста, они изобрели эти классы адаптеров .so мы расширяем этот адаптерный класс до нашего класса, и мы пишем наш метод, следовательно, он переопределяет метод адаптера.... поэтому мы теряем риск писать все методы