Повторно использовать или переделать? (The reuse-redo dilemma)
Повторно использовать или переделать? (The reuse-redo dilemma)
Наличие всех этих вариантов выдвигает на первый план проблемы, возникающие при любой попытке размышлять над созданием модулей общего назначения в заданной прикладной области: как же воспользоваться наличием единого шаблона для согласования с таким большим числом различных вариантов? Это не только проблема реализации: почти так же трудно специфицировать модуль таким образом, чтобы модули-клиенты могли рассчитывать на взаимодействие с ним, не располагая его реализацией.
По этим соображениям обречены на неуспех простые решения проблемы повторного использования. Ввиду многосторонности и изменчивости ПО - не зря оно называется "soft - модули, не обладающие "гибкостью", не могут претендовать на возможность повторного использования.
"Замороженность" модуля приводит к дилемме - повторно использовать или переделать: повторно использовать модуль таким, какой он есть, или заново все переделать. Оба подхода слишком ограничительные. Типичная ситуация, когда существует модуль, обеспечивающий лишь частичное решение текущей задачи, и требуется адаптация модуля к конкретным потребностям. В этом случае желательно и повторно использовать и переделать: кое что повторно использовать, а кое что переделать - или, лучше всего, многое повторно использовать, а совсем немного переделать. Без способности объединения возможностей повторного использования и адаптации, методы повторного использования не могут удовлетворять практическим потребностям разработки ПО.
Поэтому не случайно почти любое обсуждение проблем повторного использования в этой книге затрагивает и проблему расширяемости (что приводит к охватывающему оба эти понятия термину "модульность", являющегося предметом обсуждения в предыдущей лекции). Всякий раз, когда вы начнете искать ответы на одно из этих требований, вы тут же столкнетесь и с другим требованием.
Такая взаимозависимость между повторным использованием и расширяемостью отмечалась ранее при обсуждении принципа Открыт-Закрыт. (См. "Принцип Открыт-Закрыт", лекция 3)
Поиску подходящего представления модуля посвящена оставшаяся часть этой лекции и несколько следующих лекций. Нам предстоит согласовать между собой возможность повторного использования и расширяемость, закрытость и открытость, постоянство и изменчивость. Нам следует удовлетворить сегодняшние потребности и попытаться отгадать, что же понадобится завтра.
Более 800 000 книг и аудиокниг! 📚
Получи 2 месяца Литрес Подписки в подарок и наслаждайся неограниченным чтением
ПОЛУЧИТЬ ПОДАРОКЧитайте также
Как использовать
Как использовать Создать новую серию карточекНеобходимо указать номинал карточки, количество карточек, и нажать кнопку «Применить». Номер серии присвоится автоматически (следующий незанятый начиная с 1), и вы увидите что–то вроде: Просмотреть всю сериюВ таблице серий
5.5.5. Как использовать эффекты Compiz
5.5.5. Как использовать эффекты Compiz Некоторые эффекты (например, колебание окон при перемещении или прозрачность окон) активируются сразу. Но для активации других эффектов нужно нажать определенную комбинацию клавиш. Комбинации клавиш, используемые для активации наиболее
Как использовать примеры
Как использовать примеры Эта книга содержит достаточно много примеров программного кода, призванного иллюстрировать те концепции, которые я пытаюсь объяснить. Примеры кода будут ясно выделены моноширинным шрифтом, причем и в случае представления программного кода
37. Открытое наследование означает заменимость. Наследовать надо не для повторного использования, а чтобы быть повторно использованным
37. Открытое наследование означает заменимость. Наследовать надо не для повторного использования, а чтобы быть повторно использованным РезюмеОткрытое наследование позволяет указателю или ссылке на базовый класс в действительности обращаться к объекту некоторого
Как использовать эту книгу
Как использовать эту книгу Данная книга одновременно является практической и философской. Некоторые ее части являются афористичными и общими, в других изучаются специфические примеры Unix-разработок. Рассмотрение общих принципов и афоризмов предваряется или
Как использовать PGP.
Как использовать PGP. Вывод краткой справки.Для получения краткой справки об использовании команды PGP введите:pgp -hШифрование СообщенияДля шифровки текстового файла открытым ключом получателя, введите:pgp -e textfile her_useridВ результате будет получен зашифрованный файл
Total Rebuilt: Как своими руками переделать известный файл-менеджер?
Total Rebuilt: Как своими руками переделать известный файл-менеджер? История Total Commander началась в 1993 году, когда немецкий программист Кристиан Гислер (Christian Ghisler) решил упростить себе и многим пользователям жизнь, выпустив файловый менеджер. Ранее он существовал под именем Windows
Потребители и производители повторно используемых программ
Потребители и производители повторно используемых программ В приведенном выше списке преимуществ можно выделить две ситуации - использование профессиональных или собственных компонентов. Первые четыре элемента списка описывают ситуацию использования существующих,
Что следует повторно использовать?
Что следует повторно использовать? Убедив себя в том, что Повторное использование - Это Хорошо, осталось выяснить, как же этого добиться?Первый возникающий вопрос - на каком уровне следует осуществлять повторное использование: персонала, спецификаций, проектов, их
Форматы для распространения повторно используемых компонентов
Форматы для распространения повторно используемых компонентов Еще одной задачей, охватывающей как технические, так и организационные проблемы, является выбор представления для распространения: исходный текст или двоичный формат? Это спорный вопрос, и мы ограничимся
Использовать экспертов
Использовать экспертов Привлечение экспертов со стороны не является признаком слабости вашей группы. Напротив, это признак здравомыслия! Пока ваша компания невелика, вам, возможно, не требуется штатный эксперт по безопасности на полный рабочий день. Поэтому имеет смысл,
Использовать шифрование!
Использовать шифрование! Современные пакеты программ шифрования легко устанавливаются и поддерживаются и действительно прозрачны для пользователя. К сожалению, многие помнят о старых громоздких пакетах таких программ и не знакомы с их более простыми современными