Wzorce projektowe Janusz Jabłonowski

Loading...

Wzorce projektowe Janusz Jabłonowski

Doskonalenie kadr 16 kwietnia 2007

Od tego się zaczęło ... Design Patterns •Erich Gamma, •Richard Helm, •Ralph Johnson, •John Vlissides Pierwsze wydanie 1994 (I 1995) Hasła które wypada znać: •DPBook •GoF

2

07-04-17

Wzorce projektowe

... potem ruszyła lawina (http://hillside.net/patterns/books/index.htm)  

3

Books about patterns and related topics: Analysis Patterns: Reusable Object Models. Martin Fowler AntiPatterns: Refactoring Software, Architectures, and Projects in Crisis. William J. Brown, Raphael C. Malveau, Hays W. "Skip" McCormick III and Thomas J. Mowbray Applied Java Patterns by Stephen A. Stelting, Olav Maassen Applying UML and Patterns: An Introduction to Object-Oriented Analysis and Design and the Unified Process (2nd Edition) by Craig LarmanBusiness Modeling With UML: Business Patterns at Work by Magnus Penker, Hans-Erik Eriksson Cognitive Patterns: Problem Solving Frameworks for Object Technology. Karen Gardner, Alex Rush, Bob Konitzer, Mike Crist and Bobbin Teegarden Concurrent Programming in Java: Design Principles and Patterns. Doug Lea Corba Design Patterns. Thomas Mowbray and Raphael Malveau Core J2EE Patterns: Best Practices and Design Strategies by Deepak Alur, John Crupi, Dan Malks Data Model Patterns: Conventions of Thought. David C. Hay. Design Patterns: Elements of Reusable Object-Oriented Software. Gamma et. al. Design Patterns Explained: A New Perspective on Object-Oriented Design by Alan Shalloway, James R. TrottDesign Patterns Java Workbook by Steven John Metsker The Design Patterns Smalltalk Companion. Sherman R. Alpert, Kyle Brown, and Bobby Woolf Design Patterns for Object-Oriented Software Development. W. Pree. Design Patterns in Communications Software. Edited by Linda Rising Design Patterns and Contracts by Jean Marc Jezequel, Michel Train, Christine Mingins Doing Hard Time: Developing Real-Time Systems with UML, Objects, Frameworks and Patterns by Bruce Powel DouglassThe Domain Theory: Patterns of Knowledge and Software Reuse by Alistair Sutcliffe EJB Design Patterns: Advanced Patterns, Processes, and Idioms by Floyd Marinescu, Ed Roman Essential Java Style: Patterns for Implementation by JeffLangrFramework-based Software Development in C++. Gregory F. Rogers A Functional Pattern System for Object-Oriented Design  Thomas Kuehne. Linda Rising J2EE Design Patterns Applied by John Carnell, Meeraj Kunnumpurath, Matjaz Juric, Nadia Nashi, Craig Berry, and Sasha Romanosky. A Little Java, A Few Patterns by MatthiasFelleisen and DanielFreidman Modern C++ Design: Generic Programming and Design Patterns Applied by Andrei Alexandrescu More Process Patterns Delivering Large-Scale Systems Using Object Technology by Scott W. Ambler Natural Pattern Forms: A Practical Sourcebook for Landscape Design by Richard L. Dubé Patterns for e-business: A Strategy for Reuse Jonathan Adams, Srinivas Koushik, Guru Vasudeva, Dr. George Galambos The Patterns Handbook. Linda Rising Pattern Hatching: Design Patterns Applied. John Vlissides Patterns in Java, Volume 1, A Catalog of Reusable Design Patterns Illustrated with UML by Mark Grand Patterns in Java, Volume 2 by Mark Grand A Pattern Language C. Alexander. Pattern Languages of Program Design. Coplien & Schmidt Pattern Languages of Program Design 2. Vlissides, Coplien, & Kerth Pattern Languages of Program Design 3. Martin, Riehle, Buschmann Pattern Languages of Program Design 4.  Harrison, Foote, Rohnert Pattern-Oriented Software Architecture: Patterns for Concurrent and Networked Objects. Schmidt, Stal, Rohnert, BuschmannPattern-Oriented Software Architecture, Volume 2, Patterns for Concurrent and Networked Objects by Douglas Schmidt, Michael Stal, Hans Rohnert, Frank Buschmann Pattern-Oriented Software Architecture - A System of Patterns. Buschmann et. al.Patterns and Skeletons for Parallel and Distributed Computing F.A. Rabhi and S. Gorlatch (eds) Patterns of Software: Tales From the Software Community. Richard P. Gabriel Patterns for Time-Triggered Embedded Systems: Building Reliable Applications with the 8051 Family of Microcontrollers by Michael J. Pont Process Patterns: Building Large-Scale Systems Using Object Technology by Scott W. Ambler Small Memory Software: Patterns for Systems with Limited Memory James Noble & Charles Weir Smalltalk Patterns: Best Practices. Kent Beck. Software Architecture: Organizational Principles and Patterns. David Dikel, David Kane, and Jim Wilson Software Product Lines : Practices and Patterns by Paul Clements, Linda M. Northrop Taming C++: Pattern Classes and Persistence for Large Projects, Jiri Soukup, Addison-Wesley, 1994 Testing Object-Oriented Systems: Models, Patterns, and Tools by Robert V. Binder A Timeless Way of Building. C. Alexander. Writers'Workshop & The work of Making Things, Richard P. Gabriel

07-04-17

Wzorce projektowe

Nieco historii     

4

Książka Alexandra "The Pattern Language", Oxford 1977 Część doktoratu Gammy (1991) OOPSLA'91, dołączają Helm i Johnson OOPSLA'92 dołącza Vlissides pomysł na książkę (zamiast 90-stornicowego artykułu) 07-04-17

Wzorce projektowe

Pomysł    

5

Tworzenie systemów jest trudne, eksperci jakoś sobie radzą, czemu? Spiszmy doświadczenia związane z projektowaniem obiektowym Katalog istniejących rozwiązań (co najmniej dwa zastosowania każdego wzorca) Nie ma współbieżności, baz danych, ... 07-04-17

Wzorce projektowe

Co to jest wzorzec? 

6

Wzorzec opisuje często występujący problem i podaje jego rozwiązanie tak, by można je było wielokrotnie zastosować na różne sposoby

07-04-17

Wzorce projektowe

Elementy wzorca    

7

Nazwa Problem Rozwiązanie Konsekwencje

07-04-17

Wzorce projektowe

Elementy opisu wzorca w DPBook Nazwa i klasyfikacja  Przeznaczenie (krótkie)  Inne nazwy  Motywacja (pełniejsze)  Zakres zastosowań  Struktura cd. 

8

07-04-17

Wzorce projektowe

Elementy opisu wzorca cd.       

9

Uczestnicy Współpraca Konsekwencje Implementacja Przykładowe fragmenty programów Znane zastosowania Powiązane wzorce 07-04-17

Wzorce projektowe

Klasyfikacja wzorców 

Przeznaczenie – – –



Zakres – –

10

wzorce tworzenia (metoda produkująca, fabryka) wzorce strukturalne (adapter, most) wzorce zachowań (iterator, obserwator) klasowe (metoda produkująca) obiektowe (fabryka abstrakcyjna)

07-04-17

Wzorce projektowe

Nazewnictwo 

11

W osobnym pliku

07-04-17

Wzorce projektowe

Fabryka Abstrakcyjna 

12

Interfejs do tworzenia rodzin powiązanych obiektów

07-04-17

Wzorce projektowe

Metoda produkująca 

13

Interfejs tworzenia obiektów

07-04-17

Wzorce projektowe

Pyłek 

14

Efektywna realizacja wielu drobnych obiektów

07-04-17

Wzorce projektowe

Obserwator 

15

Automatyczne powiadamianie o zmianach

07-04-17

Wzorce projektowe

Odwiedzający 

16

Operacja wykonywana na elementach struktury

07-04-17

Wzorce projektowe

Iterator 

17

Sekwencyjne przeglądanie struktury o nieznanej budowie

07-04-17

Wzorce projektowe

Podsumowanie   

18

"Procedury" na wyższym poziomie abstrakcji Zachęta do odnajdowania (niekoniecznie tworzenia własnych wzorców) Język wzorców?

07-04-17

Wzorce projektowe

Bibliografia 



 

19

Design Patterns. Elements of Reusable Object-Oriented Software; E. Gamma, R. Helm, R. Johnson, J. Vlissides, 1995 A Pattern Language: Towns, Buildings, Construction; C. Alexander, S. Ishikawa, M. Silverstein, Oxford, 1977 http://umbc7.umbc.edu/~tarr/dp/dp.html http://hillside.net/patterns 07-04-17

Wzorce projektowe

Loading...

Wzorce projektowe Janusz Jabłonowski

Wzorce projektowe Janusz Jabłonowski Doskonalenie kadr 16 kwietnia 2007 Od tego się zaczęło ... Design Patterns •Erich Gamma, •Richard Helm, •Ralph...

268KB Sizes 1 Downloads 0 Views

Recommend Documents

SELECTED WORKS of Janusz Korczak - Janusz Korczak Association
Duty-bound to look after man, of course. How elementary. How human. Yet, how noble and great and revealing is this insta