Интернет магазин китайских планшетных компьютеров



Компьютеры - Принцип открытости/закрытости

23 января 2011


Оглавление:
1. Принцип открытости/закрытости
2. Полиморфизм принципа открытости/закрытости



В объектно-ориентированном программировании принцип открытости/закрытости устанавливает следующее положение: "программные сущности должны быть открыты для расширения, но закрыты для изменения"; это означает, что такие сущности могут позволять менять свое поведение без изменения их исходного кода. Это особенно значимо в производственной среде, когда изменения в исходном коде потребуют проведение пересмотра кода, модульного тестирования и других подобных процедур, чтобы получить право на использования его в программном продукте. Код, подчиняющийся данному принципу, не изменяется при расширении и поэтому не требует таких трудозатрат.

Термин "принцип открытости/закрытости" имеет два значения. Оба значения используют наследование для решения дилеммы, но цели, способы и результаты — различны.

Принцип открытости/закрытости Мейера

Бертран Мейер в основном известен как основоположник термина Принцип открытости/закрытости, который появился в 1988 году в его книге Object-Oriented Software Construction. Идея была в том, что однажды разработанная реализация класса в дальнейшем требует только исправления ошибок, а новые или изменённые функции требуют создания нового класса. Этот новый класс может переиспользовать код исходного класса через механизм наследования. Производный подкласс может реализовывать или не реализовывать интерфейс исходного класса.

Определение Мейера поддерживает идею реализации наследования. Реализация может быть переиспользована через наследование, но спецификации интерфейса не должны. Существующая реализация должна быть закрыта для изменений, а новые реализации не должны реализовывать существующий интерфейс.



Просмотров: 2406


<<< Принцип единственной обязанности
Проектирование программного обеспечения >>>