Лекция: METHOD OBJECT (МЕТОД В ОБЪЕКТ)

Каким образом лучше всего реализовать сложный метод, использующий не­сколько параметров и локальных переменных? Преобразуйте метод в отдельный объект.

Как

1. Создайте класс с таким же количеством параметров, как и оригинальный метод.

2. Сделайте локальные переменные метода экземплярными переменными но­вого класса.

3. Определите в новом классе метод с именем run(). Тело этого метода будет таким же, как и тело оригинального метода.

4. В оригинальном методе создайте новый объект и обратитесь к методу run() этого объекта.

Зачем

Объекты-методы полезны в качестве подготовительного этапа перед добавлени­ем в систему абсолютно нового вида внутренней логики. Например, представьте, что для вычисления обшего денежного потока используется несколько разных методов, позволяющих учесть в вычислении несколько разных компонентов об­щего денежного потока. Вначале вы можете создать объект-метод, вычисляющий общий денежный поток первым способом. Затем вы можете описать следующий способ вычислений при помощи тестой меньшего масштаба. После этого добавле­ние в программу нового способа вычислений будет несложным делом.

Объекты-методы также позволяют упростить код. в отношении которого не­удобно использовать Extract Method (Выделение метода). В некоторых ситуациях вы вынуждены иметь дело с блоком кода» который работает с обширным набором временных переменных и параметров, и каждый раз. когда вы пытаетесь выде­лить хогя бы часть этого кода в отдельный метод, вы вынуждены переносить в но­вый метод пять или шесть временных переменных и параметров. Результирую­щий выделенный метод выглядит ничем не лучше, чем изначальный код, так как его сигнатура слишком длинна. В результате создания обьекга-метода вы полу­чаете в свое распоряжение новое пространство имен, в рамках которого вы може­те извлекать методы, без необходимости передачи и них каких-либо параметров.

еще рефераты
Еще работы по информатике