kniga.biz.ua

Функціональний дизайн. Принципи, патерни і практики

Код: 2100029356
Купить Функціональний дизайн. Принципи, патерни і практики Роберт Мартин
720 грн
Есть на складе

В желаемые
Доставка
БЕСПЛАТНАЯ при стоимости заказа от 990 грн
Новая Почта на отделение/почтомат и доставка курьером;
Укрпочта на отделение - по тарифам компании-перевозчика Подробнее

Оплата
Наличными или на терминал при получении, Безналичными, Visa/MasterCard
Автор Роберт Мартин
Издательство Фабула
Cтраниц 320
Год 2025
ISBN 978-617-522-321-5
Обложка твердая
Язык Украинский
Формат 70x100/16 (165х235 мм.)

О книге Функціональний дизайн. Принципи, патерни і практики

У книжці «Функціональний дизайн: принципи, патерни і практики» відомий інженер-програміст Роберт С. Мартін (Дядечко Боб) пояснює, чому варто використовувати функціональне програмування для створення кращих систем для реальних користувачів.

Він порівнює традиційні об’єктно-орієнтовані структури кодування на Java зі структурами функціональних мов, визначає найкращі ролі для кожної з них і показує, як створювати довершені системи, розумно використовуючи їх у контексті.

Р. Мартін мінімізує теорію на користь розв’язання нагальних проблем, і завдяки цьому прагматичному підходу діючі розробники на яскравих прикладах дізнаються, як мова Clojure, проста для вивчення і семантично багата, зможе допомогти їм підвищити чистоту коду, покращити дизайн і досягти найкращих результатів.

Також автор розглядає принципи SOLID і дизайн-патерни з функціональної точки зору, показуючи, чому саме патерни залишаються надзвичайно цінними для функціональних програмістів.

pdf Уривок з книги


Добавить свой отзыв о книге

Оглавление Функціональний дизайн. Принципи, патерни і практики

Присвята
Вступне слово
Передмова
Подяки
Про автора
 
Частина І. ФУНКЦІОНАЛЬНІ ОСНОВИ
1. НЕЗМІННІСТЬ
Що таке функціональне програмування?
Проблема із присвоюванням
То чому ж воно називається функціональним?
Без зміни стану?
Незмінність
 
2. ПОСТІЙНІ ДАНІ
Про шахрайство
Виготовлення копій
Структурний розподіл
 
3. РЕКУРСІЯ ТА ІТЕРАЦІЯ
Ітерація
Дуже короткий підручник із Clojure
Ітерація
ТСО. Clojure та JVM
Рекурсія
 
4. ЛІНЬ
Ліниве накопичення
Гаразд, але чому?
Кода
 
5. СТАБІЛЬНИЙ СТАН
Коли ми мусимо мутувати
Програмна транзакційна пам'ять ISTM)
Життя складне, програмне забезпечення іще складніше
 
Частина II. ПОРІВНЯЛЬНИЙ АНАЛІЗ
6. «PRIME FACTORS»
Версія Java
Версія на Clojure
Висновок
 
7. «ГРА У БОУЛІНГ»
Версія Java
Версія на Clojure
Висновок
 
8. «ПЛІТКИ ВОДІЇВ АВТОБУСІВ»
Рішення на Java
Driver
Route
Stop
Rumor
Simulation
Clojure
Висновок
 
9. ОБ'ЄКТНО-ОРІЄНТОВАНЕ ПРОГРАМУВАННЯ
Функціональна реалізація Payroll (Розрахунок заробітної
платні)
Простори імен та вихідні файли
Висновок
 
10. ТИПИ
Висновок
 
Частина III. ФУНКЦІОНАЛЬНИЙ ДИЗАЙН
11. ПОТІК ДАНИХ
 
12. SOLID
Принцип єдиної відповідальності (SRP)
Принцип відкритості-закритості (ОСР)
Функції
Об'єкти з Vtables
Мультиметоди
Незалежне розгортання
Принцип заміщення Лісков (LSP)
Правило ISA
Ні!
Правило представлення
Принцип розділення інтерфейсів (ISP)
Не залежте від речей, що вам не потрібні
Чому?
Висновок
Принцип інверсії залежностей (DIP)
Вибух із минулого
Порушення DIP
Висновок
 
Частина IV. ФУНКЦІОНАЛЬНА ПРАГМАТИКА
13. ТЕСТИ
А як щодо REPL?
А що з моками?
Тестування на основі властивостей
Метод діагностики
Функціональний підхід
 
16. ГРАФІЧНИЙ ІНТЕРФЕЙС
Turtle-Graphics у Quil
 
15. КОНКУРЕНТНІСТЬ
Висновок
 
Частина V. ДИЗАЙН-ПАТЕРНИ
16. ОГЛЯД ДИЗАЙН-ПАТЕРНІВ
Патерни у функціональному програмуванні
Абстрактний сервер
Адаптер
Чи справді це об'єкт адаптера?
Command
Відміна
Composite
Функціональний?
Декоратор
Візитер
Close чи Clojure?
Проблема повороту на 90 градусів
Абстрактна фабрика
Знову поворот на 90 градусів
Безпека типів?
Висновок
Постскриптум: отруєне ОП?
 
Частина VI. ПРИКЛАД ІЗ ЖИТТЯ
17. WA-TOR
Позбавляємося сверблячки
Душ вирішує проблеми
Час дикого розмноження
А як щодо shark?
 
Висновок
Післямова від Джини Мартіні
Покажчик
 
 


Оставить свой отзыв:

Сегодня купили