Wzorzec projektowy dla domyślnej implementacji z pustymi metodami

Czy jest jakiś szczególnywzór projektu opisuje scenariusz, w którym dostarczana jest domyślna implementacja nie abstrakcyjna, która implementuje wszystkie lub niektóre metody w interfejsie z pustymi implementacjami NO-OP. Dokonuje się tego z zamiarem złagodzenia podklas z ciężarem wdrażania metod, których sami nie potrzebują / nie używają:

public interface MyInterface {
    public void doThis();
    public void doThat();
    public void done();
}

public class MyClass implements MyInterface {
    public void doThis() {
        // NO-OP
    }
    public void doThat() {
        // NO-OP
    }
    public void done() {
        // Some standard implementation
    }
}

public class MuSubClass extends MyClass {
    public void doThat() {
        // Subclass only cares about doThat()
    }
}

Widziałem ten wzór wykorzystywany wiele razy, w tymDefaultHandler Java w strukturze SAX, iMouseAdapter. W przypadkach somes takie klasy są nazywane Adaptery, ale miałem wrażenie, że wzorzec adaptera tłumaczy się między dwoma różnymi interfejsami.

Biorąc pod uwagę, że w tych przypadkach istnieje tylko jeden zadeklarowany interfejs, który jest tłumaczony na niezdefiniowany podzbiór tego interfejsu - nie jestem pewien, jak to jest w duchu wzorca adaptera.

Co więcej, nie do końca rozumiem, jak to jest zgodne zWzór NullObject albo, biorąc pod uwagę, że niektóre metody mogą mieć implementację, a NullObject jest tradycyjnie singletonem.

questionAnswers(9)

yourAnswerToTheQuestion