• Определение нарушения уровня абстракции?

    TheHorse
    @TheHorse
    Нарушением уровня абстракций, насколько я понимаю то, что вы вкладываете в понятие уровня абстракции, будет факт несогласованности интерфейса класса. Если у вас есть методы из названий которых следует, что они относятся к разным уровням абстракции, вы нарушили абстракцию класса. Другими словами, если в одном классе есть методы getCount и getCountOfFlat — на лицо нарушение абстрагирования. Появление таких методов вероятно при наличии наследования, которое я считаю исключением из правил.

    На сколько я понимаю, из курса ТСПП, уровень абстракции — абстрактная величина, и не может быть вычислена.

    Абстракция определяется исключительно интерфейсом класса, и не может быть нарушена за пределами этого класса.

    Декомпозиция логики работы класса, определяет только ее логику, и косвенно указывает на то, каким будет интерфейс. Задачи, которые решаются с помощью этого класса могут нарушать только собственные абстрагирования, но, теоретически, не могут нарушать уровень абстракции готовых классов.

    P. S. Никогда не встречал понятие уровня абстракции за пределам контекста декомпозиции, может не правильно понял, следовательно, не правильно ответил :(
    Ответ написан
    6 комментариев