Вопросы с тегом «open-close»

48
LSP vs OCP / Замена Лискова VS Open Закрыть

Я пытаюсь понять твердые принципы ООП и пришел к выводу, что у LSP и OCP есть некоторые сходства (если не сказать больше). принцип открытого / закрытого состояния гласит, что «программные объекты (классы, модули, функции и т. д.) должны быть открыты для расширения, но закрыты для модификации»....

34
Переопределение Object.finalize () действительно плохо?

Основными двумя аргументами против переопределения Object.finalize()является то, что: Вы не можете решить, когда это называется. Это не может быть вызвано вообще. Если я правильно понимаю, я не думаю, что это достаточно веские причины, чтобы Object.finalize()так сильно ненавидеть . Именно...

19
Почему (/ сделал) Бертран Мейер считает, что создание подклассов - единственный способ расширить «закрытый» модуль?

В Построении объектно-ориентированного программного обеспечения Мейера (1988) он определяет принцип открытия / закрытия следующим образом: Модуль будет считаться открытым, если он все еще доступен для расширения. Например, должна быть возможность добавить поля к структурам данных, которые он...

13
Не нарушают ли макеты принцип Open / Closed?

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

12
Является ли перегрузка примером принципа Open / Closed?

Википедия говорит «программные объекты (классы, модули, функции и т. д.) должны быть открыты для расширения, но закрыты для модификации» Слово функции привлекло мое внимание, и теперь я задаюсь вопросом, можем ли мы предположить, что создание перегрузки для метода может рассматриваться как пример...

12
Рефакторинг и открытый / закрытый принцип

Недавно я читал веб-сайт о разработке чистого кода (здесь я не размещаю ссылку, потому что она не на английском языке). Одним из принципов, рекламируемых этим сайтом, является принцип Open Closed : каждый программный компонент должен быть открыт для расширения и закрыт для модификации. Например,...