czysta-architektura.-struktura-i-design-oprogramowania.-przewodnik-dla-profesjonalistow cała książka.pdf

(10265 KB) Pobierz
Tytuł oryginału: Clean Architecture: A Craftsman's Guide
to Software Structure and Design (Robert C. Martin Series)
Tłumaczenie: Wojciech Moch
ISBN: 978-83-283-9109-3
Authorized translation from the English language edition, entitled: CLEAN ARCHITECTURE: A
CRAFTSMAN'S GUIDE TO SOFTWARE STRUCTURE AND DESIGN; ISBN 0134494164;
by Robert C. Martin; published by Pearson Education, Inc, publishing as Prentice Hall.
Copyright ©2018 by Pearson Education, Inc.
All rights reserved. No part of this book may be reproduced or transmitted in any form or by any means,
electronic or mechanical, including photocopying, recording or by any information storage retrieval system,
without permission from Pearson Education, Inc. Polish language edition published by HELION S.A.
Copyright © 2018, 2022.
Wszelkie prawa zastrzeżone. Nieautoryzowane rozpowszechnianie całości lub fragmentu niniejszej
publikacji w jakiejkolwiek postaci jest zabronione. Wykonywanie kopii metodą kserograficzną,
fotograficzną, a także kopiowanie książki na nośniku filmowym, magnetycznym lub innym powoduje
naruszenie praw autorskich niniejszej publikacji.
Wszystkie znaki występujące w tekście są zastrzeżonymi znakami firmowymi bądź towarowymi ich
właścicieli.
Autor oraz wydawca dołożyli wszelkich starań, by zawarte w tej książce informacje były kompletne
i rzetelne. Nie biorą jednak żadnej odpowiedzialności ani za ich wykorzystanie, ani za związane z tym
ewentualne naruszenie praw patentowych lub autorskich. Autor oraz wydawca nie ponoszą również
żadnej odpowiedzialności za ewentualne szkody wynikłe z wykorzystania informacji zawartych w książce.
Helion S.A.
ul. Kościuszki 1c, 44-100 Gliwice
tel. 32 231 22 19, 32 230 98 63
e-mail:
helion@helion.pl
WWW:
https://helion.pl
(księgarnia internetowa, katalog książek)
Drogi Czytelniku!
Jeżeli chcesz ocenić tę książkę, zajrzyj pod adres
https://helion.pl/user/opinie/czarcv
Możesz tam wpisać swoje uwagi, spostrzeżenia, recenzję.
Printed in Poland.
Kup książkę
Poleć książkę
Oceń książkę
Księgarnia internetowa
Lubię to! » Nasza społeczność
Spis treści
Przedmowa ........................................................................................................................ 13
Wstęp ................................................................................................................................. 17
Podziękowania ................................................................................................................... 21
O autorze ........................................................................................................................... 23
Część I. Wprowadzenie ..........................................................25
Rozdział 1. Czym są projekt i architektura? ................................................................... 27
Cel? ...................................................................................................................................................... 28
Studium przypadku ........................................................................................................................... 29
Wnioski ............................................................................................................................................... 35
Rozdział 2. Opowieść o dwóch wartościach ................................................................... 37
Zachowanie ......................................................................................................................................... 38
Architektura ....................................................................................................................................... 38
Ważniejsza wartość ........................................................................................................................... 39
Macierz Eisenhowera ........................................................................................................................ 40
Walka o architekturę ......................................................................................................................... 41
5
Kup książkę
Poleć książkę
Spis treści
Część II. Zacznij od podstaw.
Paradygmaty oprogramowania ..............................................43
Rozdział 3. Przegląd paradygmatów ............................................................................... 45
Programowanie strukturalne ........................................................................................................... 46
Programowanie obiektowe ............................................................................................................... 46
Programowanie funkcyjne ............................................................................................................... 46
Coś do przemyślenia ......................................................................................................................... 47
Wnioski ............................................................................................................................................... 47
Rozdział 4. Programowanie strukturalne ....................................................................... 49
Dowód ................................................................................................................................................. 50
Ogłoszenie szkodliwości ................................................................................................................... 52
Dekompozycja funkcyjna ................................................................................................................. 52
Brak formalnych dowodów .............................................................................................................. 53
Metoda naukowa ............................................................................................................................... 53
Testy .................................................................................................................................................... 54
Wnioski ............................................................................................................................................... 55
Rozdział 5. Programowanie obiektowe .......................................................................... 57
Hermetyzacja? .................................................................................................................................... 58
Dziedziczenie? .................................................................................................................................... 61
Polimorfizm? ...................................................................................................................................... 63
Wnioski ............................................................................................................................................... 68
Rozdział 6. Programowanie funkcyjne ............................................................................ 69
Kwadraty liczb całkowitych ............................................................................................................. 70
Niezmienność i architektura ............................................................................................................ 71
Podział zmienności ............................................................................................................................ 72
Strumień zdarzeń ............................................................................................................................... 74
Wnioski ............................................................................................................................................... 75
Część III. Reguły projektowe ..................................................77
Rozdział 7. SRP — reguła jednej odpowiedzialności ..................................................... 81
Symptom 1. Przypadkowa duplikacja ............................................................................................. 83
Symptom 2. Złączenia ....................................................................................................................... 84
Rozwiązania ........................................................................................................................................ 85
Wnioski ............................................................................................................................................... 87
6
Kup książkę
Poleć książkę
Spis treści
Rozdział 8. Reguła otwarte-zamknięte ........................................................................... 89
Eksperyment myślowy ...................................................................................................................... 90
Kontrola kierunku ............................................................................................................................. 94
Ukrywanie informacji ....................................................................................................................... 94
Wnioski ............................................................................................................................................... 95
Rozdział 9. Zasada podstawień Barbary Liskov ............................................................. 97
Jak używać dziedziczenia? ................................................................................................................ 98
Problem z kwadratem i prostokątem .............................................................................................. 98
Zasada LSP i architektura ................................................................................................................. 99
Przykład naruszenia zasady LSP ....................................................................................................100
Wnioski .............................................................................................................................................101
Rozdział 10. Zasada rozdzielania interfejsów .............................................................. 103
Zasada ISP i język ............................................................................................................................105
Zasada ISP i architektura ................................................................................................................105
Wnioski .............................................................................................................................................106
Rozdział 11. Zasada odwrócenia zależności ................................................................. 107
Stabilne abstrakcje ...........................................................................................................................108
Fabryki ..............................................................................................................................................109
Komponenty konkretne .................................................................................................................110
Wnioski .............................................................................................................................................111
Część IV. Zasady komponentów ..........................................113
Rozdział 12. Komponenty .............................................................................................. 115
Krótka historia komponentów ......................................................................................................116
Relokacje ...........................................................................................................................................119
Konsolidatory ...................................................................................................................................119
Wnioski .............................................................................................................................................121
Rozdział 13. Spójność komponentów ........................................................................... 123
Zasada Reuse (Release Equivalence Principle) ............................................................................124
Zasada Common Closure Principle ..............................................................................................125
Zasada Common Reuse Principle .................................................................................................126
Diagram napięć dla zasad spójności komponentów ...................................................................127
Wnioski .............................................................................................................................................128
7
Kup książkę
Poleć książkę
Zgłoś jeśli naruszono regulamin