Categories
Ebooks
-
Business and economy
- Bitcoin
- Businesswoman
- Coaching
- Controlling
- E-business
- Economy
- Finances
- Stocks and investments
- Personal competence
- Computer in the office
- Communication and negotiation
- Small company
- Marketing
- Motivation
- Multimedia trainings
- Real estate
- Persuasion and NLP
- Taxes
- Social policy
- Guides
- Presentations
- Leadership
- Public Relation
- Reports, analyses
- Secret
- Social Media
- Sales
- Start-up
- Your career
- Management
- Project management
- Human Resources
-
For children
-
For youth
-
Education
-
Encyclopedias, dictionaries
-
E-press
- Architektura i wnętrza
- Biznes i Ekonomia
- Home and garden
- E-business
- Finances
- Personal finance
- Business
- Photography
- Computer science
- HR & Payroll
- Computers, Excel
- Accounts
- Culture and literature
- Scientific and academic
- Environmental protection
- Opinion-forming
- Education
- Taxes
- Travelling
- Psychology
- Religion
- Agriculture
- Book and press market
- Transport and Spedition
- Healthand beauty
-
History
-
Computer science
- Office applications
- Data bases
- Bioinformatics
- IT business
- CAD/CAM
- Digital Lifestyle
- DTP
- Electronics
- Digital photography
- Computer graphics
- Games
- Hacking
- Hardware
- IT w ekonomii
- Scientific software package
- School textbooks
- Computer basics
- Programming
- Mobile programming
- Internet servers
- Computer networks
- Start-up
- Operational systems
- Artificial intelligence
- Technology for children
- Webmastering
-
Other
-
Foreign languages
-
Culture and art
-
School reading books
-
Literature
- Antology
- Ballade
- Biographies and autobiographies
- For adults
- Dramas
- Diaries, memoirs, letters
- Epic, epopee
- Essay
- Fantasy and science fiction
- Feuilletons
- Work of fiction
- Humour and satire
- Other
- Classical
- Crime fiction
- Non-fiction
- Fiction
- Mity i legendy
- Nobelists
- Novellas
- Moral
- Okultyzm i magia
- Short stories
- Memoirs
- Travelling
- Narrative poetry
- Poetry
- Politics
- Popular science
- Novel
- Historical novel
- Prose
- Adventure
- Journalism, publicism
- Reportage novels
- Romans i literatura obyczajowa
- Sensational
- Thriller, Horror
- Interviews and memoirs
-
Natural sciences
-
Social sciences
-
School textbooks
-
Popular science and academic
- Archeology
- Bibliotekoznawstwo
- Cinema studies
- Philology
- Polish philology
- Philosophy
- Finanse i bankowość
- Geography
- Economy
- Trade. World economy
- History and archeology
- History of art and architecture
- Cultural studies
- Linguistics
- Literary studies
- Logistics
- Maths
- Medicine
- Humanities
- Pedagogy
- Educational aids
- Popular science
- Other
- Psychology
- Sociology
- Theatre studies
- Theology
- Economic theories and teachings
- Transport i spedycja
- Physical education
- Zarządzanie i marketing
-
Guides
-
Game guides
-
Professional and specialist guides
-
Law
- Health and Safety
- History
- Road Code. Driving license
- Law studies
- Healthcare
- General. Compendium of knowledge
- Academic textbooks
- Other
- Construction and local law
- Civil law
- Financial law
- Economic law
- Economic and trade law
- Criminal law
- Criminal law. Criminal offenses. Criminology
- International law
- International law
- Health care law
- Educational law
- Tax law
- Labor and social security law
- Public, constitutional and administrative law
- Family and Guardianship Code
- agricultural law
- Social law, labour law
- European Union law
- Industry
- Agricultural and environmental
- Dictionaries and encyclopedia
- Public procurement
- Management
-
Tourist guides and travel
- Africa
- Albums
- Southern America
- North and Central America
- Australia, New Zealand, Oceania
- Austria
- Asia
- Balkans
- Middle East
- Bulgary
- China
- Croatia
- The Czech Republic
- Denmark
- Egipt
- Estonia
- Europe
- France
- Mountains
- Greece
- Spain
- Holand
- Iceland
- Lithuania
- Latvia
- Mapy, Plany miast, Atlasy
- Mini travel guides
- Germany
- Norway
- Active travelling
- Poland
- Portugal
- Other
- Russia
- Romania
- Slovakia
- Slovenia
- Switzerland
- Sweden
- World
- Turkey
- Ukraine
- Hungary
- Great Britain
- Italy
-
Psychology
- Philosophy of life
- Kompetencje psychospołeczne
- Interpersonal communication
- Mindfulness
- General
- Persuasion and NLP
- Academic psychology
- Psychology of soul and mind
- Work psychology
- Relacje i związki
- Parenting and children psychology
- Problem solving
- Intellectual growth
- Secret
- Sexapeal
- Seduction
- Appearance and image
- Philosophy of life
-
Religion
-
Sport, fitness, diets
-
Technology and mechanics
Audiobooks
-
Business and economy
- Bitcoin
- Businesswoman
- Coaching
- Controlling
- E-business
- Economy
- Finances
- Stocks and investments
- Personal competence
- Communication and negotiation
- Small company
- Marketing
- Motivation
- Real estate
- Persuasion and NLP
- Taxes
- Guides
- Presentations
- Leadership
- Public Relation
- Secret
- Social Media
- Sales
- Start-up
- Your career
- Management
- Project management
- Human Resources
-
For children
-
For youth
-
Education
-
Encyclopedias, dictionaries
-
History
-
Computer science
-
Other
-
Foreign languages
-
Culture and art
-
School reading books
-
Literature
- Antology
- Ballade
- Biographies and autobiographies
- For adults
- Dramas
- Diaries, memoirs, letters
- Epic, epopee
- Essay
- Fantasy and science fiction
- Feuilletons
- Work of fiction
- Humour and satire
- Other
- Classical
- Crime fiction
- Non-fiction
- Fiction
- Mity i legendy
- Nobelists
- Novellas
- Moral
- Okultyzm i magia
- Short stories
- Memoirs
- Travelling
- Poetry
- Politics
- Popular science
- Novel
- Historical novel
- Prose
- Adventure
- Journalism, publicism
- Reportage novels
- Romans i literatura obyczajowa
- Sensational
- Thriller, Horror
- Interviews and memoirs
-
Natural sciences
-
Social sciences
-
Popular science and academic
-
Guides
-
Professional and specialist guides
-
Law
-
Tourist guides and travel
-
Psychology
- Philosophy of life
- Interpersonal communication
- Mindfulness
- General
- Persuasion and NLP
- Academic psychology
- Psychology of soul and mind
- Work psychology
- Relacje i związki
- Parenting and children psychology
- Problem solving
- Intellectual growth
- Secret
- Sexapeal
- Seduction
- Appearance and image
- Philosophy of life
-
Religion
-
Sport, fitness, diets
-
Technology and mechanics
Videocourses
-
Data bases
-
Big Data
-
Biznes, ekonomia i marketing
-
Cybersecurity
-
Data Science
-
DevOps
-
For children
-
Electronics
-
Graphics/Video/CAX
-
Games
-
Microsoft Office
-
Development tools
-
Programming
-
Personal growth
-
Computer networks
-
Operational systems
-
Software testing
-
Mobile devices
-
UX/UI
-
Web development
-
Management
Podcasts
- Ebooks
- Programming
- Project samples
- Wzorce projektowe dla programistów Javy. Udoskonal swoje umiejętności projektowania oprogramowania
E-book details
Wzorce projektowe dla programistów Javy. Udoskonal swoje umiejętności projektowania oprogramowania
Właściwe stosowanie wzorców projektowych jest umiejętnością, którą bardzo cenią twórcy oprogramowania. Wzorce pozwalają na szybkie opracowanie złożonych zagadnień i umożliwiają tworzenie kodu nadającego się do wielokrotnego użycia. Taki kod jest przy tym wydajny, łatwy w testowaniu i utrzymaniu. Z pewnością wzorce projektowe są świetnym rozwiązaniem dla inżyniera, który chce doskonalić umiejętności projektowania oprogramowania.
Książka stanowi zbiór praktycznych informacji dotyczących najpopularniejszych wzorców projektowych. Lekturę rozpoczniesz od zapoznania się z możliwościami korzystania z wzorców projektowych na platformie Javy. Dowiesz się także, jakich zasad trzeba przestrzegać, aby zapewnić czytelność i łatwość utrzymania kodu Javy. W kolejnych rozdziałach znajdziesz praktyczne wskazówki i przykłady dotyczące stosowania wzorców kreacyjnych, strukturalnych, operacyjnych, a także wzorców współbieżności. Nauczysz się ich używać do praktycznego rozwiązywania problemów często spotykanych podczas projektowania oprogramowania. Końcowy rozdział został poświęcony antywzorcom, a zawarte w nim informacje pomogą Ci w ich identyfikacji i podjęciu najlepszych środków zaradczych.
W książce:
- jakie problemy można rozwiązać za pomocą wzorców projektowych w Javie
- jakie możliwości ma programowanie współbieżne
- jak wzorzec projektowy Obserwator buduje relację "jeden-do-wielu" między instancjami
- jakie problemy pomaga rozwiązać wzorzec Odwiedzający
- jak kontrolować zasoby przy użyciu wzorca Pula wątków
- jak zaradzić problemom spowodowanym przez antywzorce
Wzorce projektowe: niezbędnik najlepszych programistów Javy!
O autorze
O recenzencie
Słowo wstępne
Wstęp
CZĘŚĆ 1. Wzorce projektowe i funkcjonalności platformy Java
- Rozdział 1. Wprowadzenie do wzorców projektowych oprogramowania
- Wymagania techniczne
- Kod - od symboli do programu
- Programowanie obiektowe i APDH
- Prezentowanie tylko tego, co niezbędne - hermetyzacja
- Nieunikniona ewolucja - dziedziczenie
- Zachowanie na żądanie - polimorfizm
- Standardowe możliwości - abstrakcja
- Elementy scalające APDH
- Rozumienie zasad projektowania SOLID
- Zasada jednej odpowiedzialności (SRP) - silnik to tylko silnik
- Zasada otwarte-zamknięte (OCP)
- Zasada podstawienia Liskov (LSP) - możliwość zastępowania klas
- Zasada segregacji interfejsów (ISP)
- Zasada odwrócenia zależności (DIP)
- Znaczenie wzorców projektowych
- Przegląd wyzwań rozwiązywanych przez wzorce projektowe
- Podsumowanie
- Pytania
- Dalsza lektura
- Rozdział 2. Odkrywanie platformy Java pod kątem wzorców projektowych
- Wymagania techniczne
- Wstępne poznawanie Javy
- Przedstawienie modelu platformy Java oraz jej możliwości
- JDK
- JRE
- JVM
- Przegląd odzyskiwania pamięci i modelu pamięci w Javie
- JMM
- Odśmiecanie i automatyczne zarządzanie pamięcią
- Przedstawienie podstawowych API Javy
- Podstawowe typy danych i typy opakowujące
- Praca z API klasy String
- Przedstawienie tablic
- Prezentacja frameworka kolekcji
- API operacji matematycznych
- Programowanie funkcyjne w Javie
- Przedstawienie wyrażeń lambda i interfejsów funkcyjnych
- Korzystanie z interfejsów funkcyjnych w wyrażeniach lambda
- Przedstawienie systemu modułów Javy
- Krótki przegląd możliwości Javy z wersji od 11 do 17+
- Składnia zmiennych lokalnych dla parametrów wyrażeń lambda (Java SE 11, JEP-323)
- Wyrażenie switch (Java SE 14, JEP-361)
- Bloki tekstowe (Java SE 15, JEP-378)
- Dostosowywanie wzorców w operatorze instanceof (Java SE 16, JEP-394)
- Rekordy (Java SE 16, JEP-395)
- Klasy zapieczętowane (Java SE 17, JEP-409)
- Domyślnie stosowane kodowanie UTF-8 (Java SE 18, JEP-400)
- Dopasowywanie wzorców w instrukcji switch (Java SE 18, Second Preview, JEP-420)
- Prezentacja współbieżności w Javie
- Od prostych wątków do wykonawców
- Wykonywanie zadań
- Podsumowanie
- Pytania
- Dalsza lektura
CZĘŚĆ 2. Implementowanie standardowych
- Rozdział 3. Kreacyjne wzorce projektowe
- Wymagania techniczne
- Wszystko zaczyna się od klas, które stają się obiektami
- Tworzenie obiektów na podstawie danych wejściowych przy użyciu wzorca Metoda wytwórcza
- Uzasadnienie
- Przykłady zastosowania w JDK
- Przykładowy kod
- Wniosek
- Tworzenie obiektów z różnych rodzin przy użyciu wzorca Fabryka abstrakcyjna
- Uzasadnienie
- Przykłady zastosowania w JDK
- Przykładowy kod
- Wniosek
- Tworzenie złożonych obiektów przy użyciu wzorca Budowniczy
- Uzasadnienie
- Przykłady zastosowania w JDK
- Przykładowy kod
- Wniosek
- Klonowanie obiektów przy wykorzystaniu wzorca Prototyp
- Uzasadnienie
- Przykłady zastosowania w JDK
- Przykładowy kod
- Wniosek
- Zapewnianie istnienia tylko jednego obiektu przy użyciu wzorca projektowego Singleton
- Uzasadnienie
- Przykłady zastosowania w JDK
- Przykładowy kod
- Wniosek
- Poprawianie wydajności dzięki wykorzystaniu wzorca Pula obiektów
- Uzasadnienie
- Przykłady wykorzystania wzorca w JDK
- Przykładowy kod
- Wniosek
- Inicjalizacja obiektów na żądanie przy wykorzystaniu wzorca Leniwa inicjalizacja
- Uzasadnienie
- Przykłady zastosowania w JDK
- Przykładowy kod
- Wniosek
- Zmniejszanie zależności przy wykorzystaniu wzorca Wstrzykiwanie zależności
- Uzasadnienie
- Przykłady zastosowania w JDK
- Przykładowy kod
- Wniosek
- Podsumowanie
- Pytania
- Dalsza lektura
- Rozdział 4. Stosowanie strukturalnych wzorców projektowych
- Wymagania techniczne
- Współpraca niezgodnych obiektów dzięki użyciu wzorca Adapter
- Uzasadnienie
- Przykłady zastosowania w JDK
- Przykładowy kod
- Wniosek
- Rozdzielanie i niezależne rozwijanie obiektów dzięki użyciu wzorca Most
- Uzasadnienie
- Przykłady zastosowania w JDK
- Przykładowy kod
- Wniosek
- Traktowanie obiektów w ten sam sposób dzięki użyciu wzorca Kompozyt
- Uzasadnienie
- Przykłady zastosowania w JDK
- Przykładowy kod
- Wniosek
- Rozszerzanie funkcjonalności obiektów przy użyciu wzorca Dekorator
- Uzasadnienie
- Przykłady zastosowania w JDK
- Przykładowy kod
- Wniosek
- Upraszczanie komunikacji przy użyciu wzorca Fasada
- Uzasadnienie
- Przykłady zastosowania w JDK
- Przykładowy kod
- Wniosek
- Stosowanie warunków do wybierania pożądanych obiektów przy wykorzystaniu wzorca Filtr
- Uzasadnienie
- Przykłady zastosowania w JDK
- Przykładowy kod
- Wniosek
- Współdzielenie obiektów w całej aplikacji przy wykorzystaniu wzorca Pyłek
- Uzasadnienie
- Przykłady zastosowania w JDK
- Przykładowy kod
- Wniosek
- Obsługa żądań przy wykorzystaniu wzorca projektowego Front Controller
- Uzasadnienie
- Przykłady zastosowania w JDK
- Przykładowy kod
- Wniosek
- Identyfikowanie instancji za pomocą wzorca Znacznik
- Uzasadnienie
- Przykłady zastosowania w JDK
- Przykładowy kod
- Wniosek
- Poznawanie koncepcji modułów przy wykorzystaniu wzorca Moduł
- Uzasadnienie
- Przykłady zastosowania w JDK
- Przykładowy kod
- Wniosek
- Dostarczanie zamiennika przy użyciu wzorca Pełnomocnik
- Uzasadnienie
- Przykłady zastosowania w JDK
- Przykładowy kod
- Wniosek
- Odkrywanie wielokrotnego dziedziczenia w Javie za pomocą wzorca Bliźniak
- Uzasadnienie
- Przykładowy kod
- Wniosek
- Podsumowanie
- Pytania
- Dalsza lektura
- Rozdział 5. Operacyjne wzorce projektowe
- Wymagania techniczne
- Ograniczanie kosztownej inicjalizacji przy użyciu wzorca Buforowanie
- Uzasadnienie
- Przykłady zastosowania w JDK
- Przykładowy kod
- Wniosek
- Obsługa zdarzeń przy wykorzystaniu wzorca Łańcuch zobowiązań
- Uzasadnienie
- Przykłady zastosowania w JDK
- Przykładowy kod
- Wniosek
- Przekształcanie informacji w działanie przy użyciu wzorca Polecenie
- Uzasadnienie
- Przykłady zastosowania w JDK
- Przykładowy kod
- Wniosek
- Nadawanie znaczenia kontekstowi przy użyciu wzorca Interpreter
- Uzasadnienie
- Przykłady zastosowania w JDK
- Przykładowy kod
- Wniosek
- Sprawdzanie wszystkich elementów przy użyciu wzorca Iterator
- Uzasadnienie
- Przykłady zastosowania w JDK
- Przykładowy kod
- Wniosek
- Stosowanie wzorca Mediator do wymiany informacji
- Uzasadnienie
- Przykłady zastosowania w JDK
- Przykładowy kod
- Wniosek
- Przywracanie pożądanego stanu przy wykorzystaniu wzorca Pamiątka
- Uzasadnienie
- Przykłady zastosowania w JDK
- Przykładowy kod
- Wniosek
- Unikanie wyjątków związanych z wartością null przy użyciu wzorca Obiekt pusty
- Uzasadnienie
- Przykłady zastosowania w JDK
- Przykładowy kod
- Wniosek
- Informowanie wszystkich zainteresowanych stron przy użyciu wzorca Obserwator
- Uzasadnienie
- Przykłady zastosowania w JDK
- Przykładowy kod
- Wniosek
- Obsługa etapów istnienia instancji przy wykorzystaniu wzorca Potok
- Uzasadnienie
- Przykłady zastosowania w JDK
- Przykładowy kod
- Wniosek
- Zmiana zachowania obiektu przy wykorzystaniu wzorca Stan
- Uzasadnienie
- Przykłady zastosowania w JDK
- Przykładowy kod
- Wniosek
- Wykorzystanie wzorca Strategia do zmiany zachowania obiektu
- Uzasadnienie
- Przykłady zastosowania w JDK
- Przykładowy kod
- Wniosek
- Standaryzacja procesów przy użyciu wzorca Metoda szablonowa
- Uzasadnienie
- Przykłady zastosowania w JDK
- Przykładowy kod
- Wniosek
- Wykonywanie kodu w oparciu o typ obiektu przy użyciu wzorca Odwiedzający
- Uzasadnienie
- Przykłady zastosowania w JDK
- Przykładowy kod
- Wniosek
- Podsumowanie
- Pytania
- Dalsza lektura
CZĘŚĆ 3. Inne ważne wzorce projektowe i antywzorce
- Rozdział 6. Wzorce projektowe współbieżności
- Wymagania techniczne
- Separowanie wykonania metody przy użyciu wzorca Aktywny obiekt
- Uzasadnienie
- Przykładowy kod
- Wniosek
- Tworzenie nieblokujących zadań przy użyciu wzorca Asynchroniczne wywołanie metody
- Uzasadnienie
- Przykładowy kod
- Wniosek
- Opóźnianie wykonania do momentu ukończenia poprzedniego zadania przy wykorzystaniu wzorca Balking
- Uzasadnienie
- Przykładowy kod
- Wniosek
- Udostępnianie unikalnej instancji przy użyciu wzorca Podwójnie sprawdzane blokowanie
- Uzasadnienie
- Przykładowy kod
- Wniosek
- Stosowanie celowego blokowania wątków przy użyciu wzorca Blokada odczytu-zapisu
- Uzasadnienie
- Przykładowy kod
- Wniosek
- Separowanie logiki wykonania przy wykorzystaniu wzorca Producent-konsument
- Uzasadnienie
- Przykładowy kod
- Wniosek
- Realizacja odizolowanych zadań przy użyciu wzorca Dyspozytor
- Uzasadnienie
- Przykładowy kod
- Wniosek
- Efektywne wykorzystanie wątków za pomocą wzorca Pula wątków
- Uzasadnienie
- Przykładowy kod
- Wniosek
- Podsumowanie
- Pytania
- Dalsza lektura
- Rozdział 7. Popularne antywzorce
- Wymagania techniczne
- Czym są antywzorce i jak je identyfikować
- Zmiana zasad teoretycznych
- Gromadzenie długu technicznego jako wąskie gardło
- Niewłaściwe wykorzystanie możliwości platformy Java
- Wybór odpowiedniego narzędzia
- Podsumowanie antywzorca zapachu kodu
- Badanie typowych antywzorców oprogramowania
- Rozwlekły złożony kod
- Programowanie oparte na kopiowaniu i wklejaniu
- Klucha
- Potok lawy (ang. lava flow)
- Dekompozycja funkcjonalna
- Kotwica
- Wniosek
- Zrozumienie antywzorców architektury oprogramowania
- Złoty młotek
- Ciągłe starzenie się
- Wadliwe dane wejściowe
- Praca na polu minowym
- Niejednoznaczny punkt widzenia
- Poltergeist
- Ślepy zaułek
- Wniosek
- Podsumowanie
- Dalsza lektura
Odpowiedzi
- Rozdział 1. Wprowadzenie do wzorców projektowych oprogramowania
- Rozdział 2. Odkrywanie platformy Java pod kątem wzorców projektowych
- Rozdział 3. Stosowanie kreacyjnych wzorców projektowych
- Rozdział 4. Stosowanie strukturalnych wzorców projektowych
- Rozdział 5. Operacyjne wzorce projektowe
- Rozdział 6. Wzorce projektowe współbieżności
- Title: Wzorce projektowe dla programistów Javy. Udoskonal swoje umiejętności projektowania oprogramowania
- Author: Miroslav Wengner
- Original title: Practical Design Patterns for Java Developers: Hone your software design skills by implementing popular design patterns
- Translation: Piotr Rajca
- ISBN: 978-83-289-0773-7, 9788328907737
- Date of issue: 2024-03-11
- Format: Ebook
- Item ID: wzoprj
- Publisher: Helion