Сенди Мэтз - Ruby. Объектно-ориентированное проектирование
Название: | Ruby. Объектно-ориентированное проектирование | |
Автор: | Сенди Мэтз | |
Жанр: | Учебники и самоучители по компьютеру, Ruby | |
Изадано в серии: | неизвестно | |
Издательство: | неизвестно | |
Год издания: | - | |
ISBN: | неизвестно | |
Отзывы: | Комментировать | |
Рейтинг: | ||
Поделись книгой с друзьями! Помощь сайту: донат на оплату сервера |
Краткое содержание книги "Ruby. Объектно-ориентированное проектирование"
Читаем онлайн "Ruby. Объектно-ориентированное проектирование". [Страница - 4]
Bicycle...............................................................................212
Создание иерархии Parts.................................................................................214
Составление композиции для объекта Parts...........................................................217
Создание Part..................................................................................................217
Придание объекту Parts большей схожести с массивом...................................221
Изготовление Parts-объектов.................................................................................225
Создание модуля PartsFactory..........................................................................226
Применение PartsFactory.................................................................................228
Bicycle в виде композиции......................................................................................230
Выбор между наследованием и композицией........................................................234
Приемлемость наследования...........................................................................234
Приемлемость композиции..............................................................................237
Выбор характера отношений............................................................................239
Выводы..................................................................................................................242
Глава 9. Проектирование экономически эффективных тестов...............................243
Целенаправленное тестирование...........................................................................244
Осознание намерений......................................................................................245
Выявление предмета тестирования.................................................................247
Умение определять нужный момент для тестирования.....................................251
Умение проводить тестирование......................................................................253
Тестирование входящих сообщений.......................................................................255
Удаление неиспользуемых интерфейсов..........................................................257
Проверка открытого интерфейса.....................................................................258
Изоляция тестируемого объекта......................................................................260
Внедрение зависимостей с использованием классов......................................262
Внедрение зависимостей в качестве ролей......................................................264
Tlgm: @it_boooks
Оглавление
11
Тестирование закрытых методов............................................................................270
Игнорирование закрытых методов при тестировании......................................270
Удаление закрытых методов из тестируемого класса.......................................271
Выбор в пользу тестирования закрытого метода..............................................271
Тестирование исходящих сообщений.....................................................................273
Игнорирование сообщений-запросов..............................................................273
Проверка сообщений-команд..........................................................................274
Тестирование неявных типов..................................................................................277
Тестирование ролей.........................................................................................277
Ролевые тесты для проверки дублеров............................................................283
Тестирование унаследованного кода......................................................................287
Определение унаследованного интерфейса....................................................287
Определение обязанностей
подкласса........................................................................................................291
Тестирование уникального поведения..............................................................294
Выводы..................................................................................................................299
Заключение..........................................................................................................300
Tlgm: @it_boooks
Эми, которая все читает первой.
Tlgm: @it_boooks
Предисловие
Одна из прописных истин гласит, что в процессе разработки программ увеличивается объем кода и изменяются требования к создаваемой системе. Кроме
того, практически во всех случаях возможность сопровождения кода в течение
всего срока его существования более важна, чем его оптимизация.
В сравнении с другими технологиями программирования преимущество
объектно-ориентированного проектирования заключается в упрощении сопровождения и развития кода. Но как новички-программисты могут узнать все эти
секреты? Ведь многие никогда не обучались написанию высококачественного
объектно-ориентированного кода, а собирали информацию по крупицам, осваи
вая опыт коллег и черпая знания из устаревших книг и Интернета. Если даже
они изучали основы объектно-ориентированного программирования в учебных
заведениях, то явно с использованием таких языков, как Java или C++. (Везунчиков обучали на Smalltalk!)
В книге «Ruby. Объектно-ориентированное проектирование» рассматриваются основы объектно-ориентированного проектирования с использованием
языка Ruby, а это значит, что она готова вести новичков в программировании
на Ruby и Rails к вершинам --">
Создание иерархии Parts.................................................................................214
Составление композиции для объекта Parts...........................................................217
Создание Part..................................................................................................217
Придание объекту Parts большей схожести с массивом...................................221
Изготовление Parts-объектов.................................................................................225
Создание модуля PartsFactory..........................................................................226
Применение PartsFactory.................................................................................228
Bicycle в виде композиции......................................................................................230
Выбор между наследованием и композицией........................................................234
Приемлемость наследования...........................................................................234
Приемлемость композиции..............................................................................237
Выбор характера отношений............................................................................239
Выводы..................................................................................................................242
Глава 9. Проектирование экономически эффективных тестов...............................243
Целенаправленное тестирование...........................................................................244
Осознание намерений......................................................................................245
Выявление предмета тестирования.................................................................247
Умение определять нужный момент для тестирования.....................................251
Умение проводить тестирование......................................................................253
Тестирование входящих сообщений.......................................................................255
Удаление неиспользуемых интерфейсов..........................................................257
Проверка открытого интерфейса.....................................................................258
Изоляция тестируемого объекта......................................................................260
Внедрение зависимостей с использованием классов......................................262
Внедрение зависимостей в качестве ролей......................................................264
Tlgm: @it_boooks
Оглавление
11
Тестирование закрытых методов............................................................................270
Игнорирование закрытых методов при тестировании......................................270
Удаление закрытых методов из тестируемого класса.......................................271
Выбор в пользу тестирования закрытого метода..............................................271
Тестирование исходящих сообщений.....................................................................273
Игнорирование сообщений-запросов..............................................................273
Проверка сообщений-команд..........................................................................274
Тестирование неявных типов..................................................................................277
Тестирование ролей.........................................................................................277
Ролевые тесты для проверки дублеров............................................................283
Тестирование унаследованного кода......................................................................287
Определение унаследованного интерфейса....................................................287
Определение обязанностей
подкласса........................................................................................................291
Тестирование уникального поведения..............................................................294
Выводы..................................................................................................................299
Заключение..........................................................................................................300
Tlgm: @it_boooks
Эми, которая все читает первой.
Tlgm: @it_boooks
Предисловие
Одна из прописных истин гласит, что в процессе разработки программ увеличивается объем кода и изменяются требования к создаваемой системе. Кроме
того, практически во всех случаях возможность сопровождения кода в течение
всего срока его существования более важна, чем его оптимизация.
В сравнении с другими технологиями программирования преимущество
объектно-ориентированного проектирования заключается в упрощении сопровождения и развития кода. Но как новички-программисты могут узнать все эти
секреты? Ведь многие никогда не обучались написанию высококачественного
объектно-ориентированного кода, а собирали информацию по крупицам, осваи
вая опыт коллег и черпая знания из устаревших книг и Интернета. Если даже
они изучали основы объектно-ориентированного программирования в учебных
заведениях, то явно с использованием таких языков, как Java или C++. (Везунчиков обучали на Smalltalk!)
В книге «Ruby. Объектно-ориентированное проектирование» рассматриваются основы объектно-ориентированного проектирования с использованием
языка Ruby, а это значит, что она готова вести новичков в программировании
на Ruby и Rails к вершинам --">
Книги схожие с «Ruby. Объектно-ориентированное проектирование» по жанру, серии, автору или названию:
Евгений Охотников - Ruby - новые грани Жанр: Учебники и самоучители по компьютеру Год издания: 2006 |
Оби Фернандес - Путь Rails. Подробное руководство по созданию приложений в среде Ruby on Rails Жанр: Учебники и самоучители по компьютеру Год издания: 2009 |
Сэнди Метц - Ruby. Объектно-ориентированное проектирование Жанр: Учебники и самоучители по компьютеру Год издания: 2017 |
Курт Гиббс - Катание с Ruby на Rails Жанр: Учебники и самоучители по компьютеру Год издания: 2020 |