Architektura systemów zarządzania przedsiębiorstwem. Wzorce projektowe (ebook)(audiobook)(audiobook)
- Autor:
- Martin Fowler
- Promocja Przejdź
- Wydawnictwo:
- Helion
- Ocena:
- 4.5/6 Opinie: 16
- Stron:
- 496
- Druk:
- oprawa miękka
Opis książki
Czytaj fragment
Wykorzystaj wzorce projektowe w pracy nad oprogramowaniem
- Zaprojektuj aplikacje o architekturze trójwarstwowej
- Dobierz odpowiednią technologię
- Stwórz moduły aplikacji
Systemy informatyczne służące do zarządzania przedsiębiorstwem to zwykle ogromne aplikacje. Operują na milionach rekordów, przesyłają gigabajty danych i są obsługiwane przez dziesiątki użytkowników. Sprawne działanie takiej aplikacji jest niezwykle istotne dla funkcjonowania przedsiębiorstwa, dlatego musi ona być stabilna, a przed wdrożeniem -- gruntownie przetestowana. Przy tworzeniu aplikacji tego typu wykorzystuje się opracowane już rozwiązania, zwane wzorcami projektowymi. Wzorce projektowe to modele poszczególnych komponentów aplikacji -- należy jedynie zaimplementować je w wybranym języku programowania.
Książka "Architektura systemów zarządzania przedsiębiorstwem. Wzorce projektowe" to przegląd wzorców wykorzystywanych przy projektowaniu aplikacji korporacyjnych. Opisuje zasady podziału aplikacji na warstwy i zasady współpracy pomiędzy warstwami; przedstawia także modele komponentów wchodzących w skład każdej z nich.
- Warstwy w aplikacjach biznesowych
- Wzorce logiki aplikacji
- Wzorce architektury źródła danych
- Wzorce mapowania obiektowo-relacyjnego
- Wzorce prezentacji
- Wzorce dystrybucji
- Wzorce stanu sesji
- Wzorce podstawowe
Korzystając z zawartych w książce wzorców,
stworzysz stabilne i wydajne aplikacje korporacyjne.
O autorze
1 Martin FowlerMartin Fowler to niezależny konsultant, od ponad dziesięciu lat stosujący obiekty do rozwiązania ważnych problemów biznesowych. Wśród jego klientów można wymienić Chryslera, Citibank, brytyjską Narodową Służbę Zdrowia, Andersen Consulting i Netscape Communications. Ponadto Fowler regularnie wypowiada się na temat obiektów, języka UML oraz wzorców projektowych. Jest autorem nagradzanych książek, na przykład takich, jak Analysis Patterns, UML w kropelce, Architektura systemów zarządzania przedsiębiorstwem. Wzorce projektowe.
Podobne produkty
-
Algorytmy Data Science. Siedmiodniowy przewodni... Algorytmy Data Science. Siedmiodniowy przewodnik. Wydanie II
David Natingga
-
Docker. Praktyczne zastosowania. Wydanie II Docker. Praktyczne zastosowania. Wydanie II
Sean P. Kane, Karl Matthias
-
Asembler. Programowanie Asembler. Programowanie
Dawid Farbaniec
-
Algorytmy. Ilustrowany przewodnik Algorytmy. Ilustrowany przewodnik
Aditya Bhargava
-
Refaktoryzacja. Ulepszanie struktury istniejące... Refaktoryzacja. Ulepszanie struktury istniejącego kodu. Wydanie II
Martin Fowler
-
Mistrz czystego kodu. Kodeks postępowania profe... Mistrz czystego kodu. Kodeks postępowania profesjonalnych programistów
Robert C. Martin
Recenzje (1)
-
Dziennik Łódzki pio; 13 kwietnia 2005
Systemy, służące do zarządzania przedsiębiorstwem, są najczęściej dużymi i skomplikowanymi tworami, które przetwarzają gigantyczne ilości danych. Często od ich sprawnego działania zależą losy firmy. Dlatego niezawodność jest najważniejsza. W celu uniknięcia błędów, stosuje się gotowe wzorce projektowe. Książka, której autorem jest Martin Fowler, w sposób bardzo konsekwentny przybliża tę tematykę. "Architektura systemów zarządzania przedsiębiorstwem. Wzorce projektowe" to pozycja, która zapewne szybko zagości na biurkach programistów, projektantów i architektów takich systemów. W książce wydanej przez Helion omówiono m.in. warstwy aplikacji i wzorce - logiki, architektury źródła danych, mapowania obiektowo-relacyjnego, prezentacji, dystrybucji oraz stanu sesji. Jednym słowem - to coś dla budowniczych stabilnych i wydajnych aplikacji korporacyjnych.
Szczegóły książki
- Tytuł oryginału:
- Patterns of Enterprise Application Architecture
- Tłumaczenie:
- Paweł Koronkiewicz (wstęp, rozdz. 1 - 12), Piotr Rajca (rozdz. 13 - 18, dod. A)
- ISBN Książki drukowanej:
- 83-7361-715-9, 8373617159
- Data wydania książki drukowanej:
- 2005-01-05
- Format:
- B5
- Numer z katalogu:
- 2634
- druk na żądanie!
- dnż
- Pobierz przykładowy rozdział PDF
- Przykłady na ftp
Ebook zawiera materiały dodatkowe, które możesz pobrać z serwera FTP - link znajdziesz na stronie redakcyjnej.
- Erraty / Zgłoś erratę
- Kategorie:
Programowanie » Wzorce projektowe
Spis treści
- Architektura (19)
- Aplikacje korporacyjne (20)
- Rodzaje aplikacji dla przedsiębiorstw (22)
- Wydajność (23)
- Wzorce (25)
- Struktura opisu wzorców (27)
- Ograniczenia wzorców projektowych (28)
- Podział warstwowy w aplikacjach dla przedsiębiorstw (32)
- Trzy główne warstwy (33)
- Układ warstw (35)
- Wybór wzorca (40)
- Warstwa usług (42)
- Wzorce architektury (43)
- Problem zachowań (47)
- Odczyt danych (48)
- Wzorce mapowania struktury (49)
- Mapowanie relacji (49)
- Dziedziczenie (52)
- Proces budowy mapowania (54)
- Podwójne mapowanie (55)
- Metadane (55)
- Połączenie z bazą danych (56)
- Inne problemy mapowania (58)
- Warto przeczytać (58)
- Wzorce widoku (62)
- Wzorce kontrolera danych wejściowych (64)
- Warto przeczytać (64)
- Problemy przetwarzania współbieżnego (66)
- Konteksty przetwarzania (67)
- Izolacja i niezmienność (68)
- Optymistyczne i pesymistyczne sterowanie współbieżnością (68)
- Zapobieganie niespójnym odczytom (69)
- Zakleszczenia (70)
- Transakcje (71)
- ACID (72)
- Zasoby transakcyjne (72)
- Zwiększanie żywotności przez ograniczanie izolacji (73)
- Transakcje biznesowe i systemowe (74)
- Wzorce sterowania współbieżnością w trybie offline (76)
- Serwery aplikacji (77)
- Warto przeczytać (78)
- Zalety sesji bezstanowej (79)
- Stan sesji (80)
- Metody przechowywania danych stanu sesji (81)
- Zwodnicze obiekty rozproszone (85)
- Interfejsy lokalne i interfejsy zdalne (86)
- Kiedy stosować architekturę rozproszoną (87)
- Granice dystrybucji (88)
- Interfejsy dystrybucji (89)
- Warstwa dziedziny, czyli początek (92)
- Warstwa źródła danych, czyli krok drugi (93)
- Źródło danych dla schematu Transaction Script (110) (93)
- Źródło danych dla schematu Table Module (125) (93)
- Źródło danych dla schematu Domain Model (116) (94)
- Warstwa prezentacji (94)
- Wzorce a technologia (95)
- Java i J2EE (95)
- .NET (96)
- Procedury przechowywane (97)
- Usługi WWW (97)
- Inne systemy warstw aplikacji (98)
- Transaction Script (Skrypt transakcji) (103)
- Na czym polega (103)
- Kiedy używamy (105)
- Problem obliczania przychodu (105)
- Domain Model (Model dziedziny) (109)
- Na czym polega (109)
- Kiedy używamy (111)
- Warto przeczytać (112)
- Przykład: uznanie przychodu (Java) (112)
- Table Module (Moduł tabeli) (117)
- Na czym polega (118)
- Kiedy używamy (120)
- Przykład: uznanie przychodu (C#) (120)
- Service Layer (Warstwa usług) (124)
- Na czym polega (125)
- Kiedy używamy (127)
- Warto przeczytać (127)
- Przykład: uznanie przychodu (Java) (127)
- Table Data Gateway (Brama danych tabeli) (133)
- Na czym polega (133)
- Kiedy używamy (134)
- Warto przeczytać (135)
- Przykład: brama tabeli osób (C#) (135)
- Przykład: brama oparta na zbiorach danych ADO.NET (C#) (137)
- Row Data Gateway (Brama danych wiersza) (140)
- Na czym polega (140)
- Kiedy używamy (142)
- Przykład: brama rekordu osoby (Java) (142)
- Przykład: uchwyt danych dla obiektu dziedziny (Java) (146)
- Active Record (Rekord aktywny) (147)
- Na czym polega (147)
- Kiedy używamy (148)
- Przykład: prosta tabela osób (Java) (148)
- Data Mapper (Odwzorowanie danych) (152)
- Na czym polega (152)
- Kiedy używamy (156)
- Przykład: proste odwzorowanie obiektowo-relacyjne (Java) (157)
- Przykład: wyłączanie metod wyszukujących (Java) (162)
- Przykład: tworzenie obiektu pustego (Java) (165)
- Unit of Work (Jednostka pracy) (169)
- Na czym polega (170)
- Kiedy używamy (173)
- Przykład: rejestracja przez obiekt (Java) (174)
- Identity Map (Mapa tożsamości) (178)
- Na czym polega (178)
- Kiedy używamy (180)
- Przykład: metody mapy tożsamości (Java) (181)
- Lazy Load (Opóźnione ładowanie) (182)
- Na czym polega (182)
- Kiedy używamy (184)
- Przykład: opóźniona inicjalizacja (Java) (185)
- Przykład: wirtualny pośrednik (Java) (185)
- Przykład: uchwyt wartości (Java) (187)
- Przykład: widmo (C#) (188)
- Identity Field (Pole tożsamości) (197)
- Na czym polega (197)
- Kiedy używamy (201)
- Warto przeczytać (201)
- Przykład: liczba całkowita jako klucz (C#) (201)
- Przykład: tabela kluczy (Java) (203)
- Przykład: klucz złożony (Java) (205)
- Foreign Key Mapping (Odwzorowanie do klucza obcego) (216)
- Na czym polega (216)
- Kiedy używamy (218)
- Przykład: odwołanie jednowartościowe (Java) (219)
- Przykład: wyszukiwanie w wielu tabelach (Java) (222)
- Przykład: kolekcja odwołań (C#) (223)
- Association Table Mapping (Odwzorowanie do tabeli asocjacji) (226)
- Na czym polega (226)
- Kiedy używamy (227)
- Przykład: pracownicy i umiejętności (C#) (227)
- Przykład: odwzorowanie z kodem SQL (Java) (230)
- Przykład: jedno zapytanie do obsługi wielu pracowników (Java) (234)
- Dependent Mapping (Odwzorowanie składowych) (239)
- Na czym polega (239)
- Kiedy używamy (240)
- Przykład: albumy i ścieżki (Java) (241)
- Embedded Value (Wartość osadzona) (244)
- Na czym polega (244)
- Kiedy używamy (244)
- Warto przeczytać (245)
- Przykład: prosty obiekt wartości (Java) (245)
- Serialized LOB (Duży obiekt serializowany) (247)
- Na czym polega (247)
- Kiedy używamy (248)
- Przykład: serializowanie hierarchii działów firmy do postaci XML (Java) (249)
- Single Table Inheritance (Odwzorowanie dziedziczenia do pojedynczej tabeli) (252)
- Na czym polega (252)
- Kiedy używamy (253)
- Przykład: tabela zawodników (C#) (253)
- Class Table Inheritance (Odwzorowanie dziedziczenia do tabel klas) (259)
- Na czym polega (259)
- Kiedy używamy (260)
- Warto przeczytać (260)
- Przykład: zawodnicy (C#) (260)
- Concrete Table Inheritance (Odwzorowanie dziedziczenia do tabel konkretnych) (266)
- Na czym polega (266)
- Kiedy używamy (268)
- Przykład: zawodnicy (C#) (268)
- Inheritance Mappers (Klasy odwzorowania dziedziczenia) (274)
- Na czym polega (275)
- Kiedy używamy (276)
- Metadata Mapping (Odwzorowanie metadanych) (277)
- Na czym polega (277)
- Kiedy używamy (279)
- Przykład: użycie metadanych i odzwierciedlania (Java) (280)
- Query Object (Obiekt zapytania) (287)
- Na czym polega (287)
- Kiedy używamy (288)
- Warto przeczytać (289)
- Przykład: prosty wzorzec Obiekt zapytania (Java) (289)
- Repository (Magazyn) (293)
- Na czym polega (294)
- Kiedy używamy (295)
- Warto przeczytać (296)
- Przykład: odnajdywanie osób utrzymywanych przez podaną osobę (Java) (296)
- Przykład: zamiana strategii wzorca Repository (Java) (297)
- Model View Controller (Model kontrolera widoku) (299)
- Na czym polega (299)
- Kiedy używamy (301)
- Page Controller (Kontroler strony) (302)
- Na czym polega (302)
- Kiedy używamy (303)
- Przykład: prosta prezentacja z serwletem pełniącym funkcję kontrolera oraz stroną JSP pełniącą rolę widoku (Java) (304)
- Przykład: zastosowanie strony JSP do obsługi żądania (Java) (306)
- Przykład: mechanizm obsługi stron wykorzystujący kod schowany (C#) (309)
- Front Controller (Kontroler fasady) (313)
- Na czym polega (313)
- Kiedy używamy (315)
- Warto przeczytać (315)
- Przykład: prosta prezentacja (Java) (315)
- Template View (Szablon widoku) (318)
- Na czym polega (318)
- Kiedy używamy (322)
- Przykład: wykorzystanie JSP jako widoku wraz z osobnym kontrolerem (Java) (322)
- Przykład: strona ASP.NET (C#) (325)
- Transform View (Widok przekształcający) (328)
- Na czym polega (328)
- Kiedy używamy (329)
- Przykład: proste przekształcenie (Java) (330)
- Two Step View (Widok dwuetapowy) (332)
- Na czym polega (332)
- Kiedy używamy (333)
- Przykład: dwuetapowe przekształcenie XSLT (XSLT) (338)
- Przykład: JSP i znaczniki niestandardowe (Java) (340)
- Application Controller (Kontroler aplikacji) (345)
- Na czym polega (345)
- Kiedy używamy (347)
- Warto przeczytać (347)
- Przykład: kontroler aplikacji obsługujący model stanu (Java) (347)
- Remote Facade (Zdalna fasada) (353)
- Na czym polega (354)
- Kiedy używamy (357)
- Przykład: zastosowanie komponentu session bean i zdalnej fasady (Java) (357)
- Przykład: usługa WWW (C#) (360)
- Data Transfer Object (Obiekt transferu danych) (366)
- Na czym polega (366)
- Kiedy używamy (370)
- Warto przeczytać (371)
- Przykład: przekazywanie informacji o albumach (Java) (371)
- Przykład: serializacja danych do postaci XML (Java) (375)
- Optimistic Offline Lock (Optymistyczna blokada autonomiczna) (379)
- Na czym polega (380)
- Kiedy używamy (383)
- Przykład: warstwa dziedziny i wzorzec Data Mappers (165) (Java) (384)
- Pessimistic Offline Lock (Pesymistyczna blokada autonomiczna) (389)
- Na czym polega (390)
- Kiedy używamy (393)
- Przykład: prosty menedżer blokad (Java) (394)
- Coarse-Grained Lock (Blokada gruboziarnista) (400)
- Na czym polega (400)
- Kiedy używamy (402)
- Przykład: wspólna blokada Optimistic Offline Lock (416) (Java) (403)
- Przykład: wspólna blokada Pessimistic Offline Lock (426) (Java) (408)
- Przykład: blokowanie korzenia przy użyciu blokady Pessimistic Offline Lock (416) (Java) (409)
- Implicit Lock (Blokada domyślna) (410)
- Na czym polega (411)
- Kiedy używamy (412)
- Przykład: niejawna blokada Pessimistic Offline Lock (426) (Java) (412)
- Client Session State (Stan sesji klienta) (415)
- Na czym polega (415)
- Kiedy używamy (416)
- Server Session State (Stan sesji serwera) (418)
- Na czym polega (418)
- Kiedy używamy (420)
- Database Session State (Stan sesji bazy danych) (421)
- Na czym polega (421)
- Kiedy używamy (423)
- Gateway (Brama) (425)
- Na czym polega (426)
- Kiedy używamy (426)
- Przykład: brama pośrednicząca w korzystaniu z usługi rozsyłania komunikatów (Java) (427)
- Mapper (Odwzorowanie) (432)
- Na czym polega (432)
- Kiedy używamy (433)
- Layer Supertype (Typ bazowy warstwy) (434)
- Na czym polega (434)
- Kiedy używamy (434)
- Przykład: obiekt domeny (Java) (434)
- Separated Interface (Interfejs oddzielony) (435)
- Na czym polega (435)
- Kiedy używamy (437)
- Registry (Rejestr) (438)
- Na czym polega (438)
- Kiedy używamy (440)
- Przykład: rejestr bazujący na wzorcu Singleton (Java) (440)
- Przykład: rejestr nadający się do zastosowania w środowiskach wielowątkowych (Java) (442)
- Value Object (Obiekt wartości) (444)
- Na czym polega (444)
- Kiedy używamy (445)
- Money (Pieniądze) (446)
- Na czym polega (446)
- Kiedy używamy (448)
- Przykład: klasa Money (Java) (449)
- Special Case (Przypadek szczególny) (453)
- Na czym polega (453)
- Kiedy używamy (454)
- Warto przeczytać (454)
- Przykład: prosta implementacja pustego obiektu (C#) (454)
- Plugin (456)
- Na czym polega (456)
- Kiedy używamy (457)
- Przykład: generator identyfikatorów (Java) (457)
- Service Stub (Usługa zastępcza) (461)
- Na czym polega (461)
- Kiedy używamy (462)
- Przykład: usługa podatkowa (Java) (462)
- Record set (Zbiór rekordów) (465)
- Na czym polega (465)
- Kiedy używamy (467)
Przedmowa (13)
Wstęp (19)
Część I Wprowadzenie (29)
Rozdział 1. Warstwy aplikacji (31)
Rozdział 2. Porządkowanie logiki dziedziny (37)
Rozdział 3. Mapowanie do relacyjnych baz danych (43)
Rozdział 4. Prezentacja w sieci WWW (59)
Rozdział 5. Przetwarzanie współbieżne (65)
Rozdział 6. Stan sesji (79)
Rozdział 7. Obiekty rozproszone (85)
Rozdział 8. Podsumowanie (91)
Część II Wzorce (101)
Rozdział 9. Wzorce logiki dziedziny (103)
Rozdział 10. Wzorce architektury źródła danych (133)
Rozdział 11. Wzorce zachowań dla mapowania obiektowo-relacyjnego (169)
Rozdział 12. Wzorce struktury dla mapowania obiektowo-relacyjnego (197)
Rozdział 13. Wzorce odwzorowań obiektów i relacyjnych metadanych (277)
Rozdział 14. Wzorce prezentacji internetowych (299)
Rozdział 15. Wzorce dystrybucji (353)
Rozdział 16. Wzorce współbieżności autonomicznej (379)
Rozdział 17. Wzorce stanu sesji (415)
Rozdział 18. Wzorce podstawowe (425)
Dodatki (469)
Bibliografia (471)
Skorowidz (477)
Oceny i opinie klientów (16)
(3)
(6)
(5)
(1)
(0)
(1)
6 oceniona przez: Robert Janeczek, 2005-01-31
6 oceniona przez: Krystian, 2016-01-10
6 oceniona przez: jjhop, 2008-02-11
5 oceniona przez: AN, 2007-09-18
5 oceniona przez: 2008-06-30
5 oceniona przez: Piotr Smoliński, 2005-03-14
5 oceniona przez: Sebastian Cichosz, 2005-11-04
5 oceniona przez: 2005-01-13
5 oceniona przez: Wiktor Zychla, . 2013-07-12
4 oceniona przez: 2005-01-26
4 oceniona przez: Robert Sosnowski, specjalista IT 2014-12-17
4 oceniona przez: 2005-03-07
4 oceniona przez: Piotr Rożen, 2005-11-02
4 oceniona przez: 2005-06-17
3 oceniona przez: Półtorak Dariusz, Programista 2011-02-21
1 oceniona przez: Robert Sobczyk, 2005-01-10
więcej opinii