Reference
Pogled unapred
U softverskoj industriji design pattern-i su prisutni u poslednjih par godina.
Otkrivanjem novih DP-a verovatno će porasti i važnost i
primenjivost design pattern-a.
Design pattern-i se otkrivaju i to u primerima
dizajna mnogih konkretnih sistema kao rezultat prepoznavanja pojave tog dizajna bilo
u sličnom ili istom obliku.
Za definisanje DP-a potrebno je veliko programersko iskustvo. Nijedan od design pattern-a
koji su ovde prikazani ne opisuje nove ili neproverene modele. Obuhvaćeni su
oni koji su više puta primenjeni u različitim sistemima.
Brojne studije stručnjaka za tradicionalne programske jezike pokazuju da se
programersko znanje i iskustvo ne organizuju toliko oko sintakse, koliko oko konceptualnih
struktura kao što su: algoritmi, idiomi, strukture podataka,...
( videti [4] [13] )
Otud, korišćenjem DP-a, podiže se nivo projektovanja i nivo diskusije o
projektovanju među učesnicima, zato što design pattern-i obezbeđuju
zajednički rečnik koji projektanti mogu da koriste bilo pri komunikaciji,
bilo pri dokumentovanju, ili pri iznalaženju alternativnih rešenja.
Inače, već u odnosu na trenutno poznat broj prepoznatih
design pattern-a, može se konstatovati
da dobro projektovani objektno-orijentisani sistemi imaju ugrađene brojne
design pattern-e (iako, sami projektanti, možda nisu toga ni svesni
zbog relativno
kratkog veka postojanja design pattern-a).
Ono što bi, odatle, moglo da proizađe u budućnosti, je
da će se proces projektovanja odvijati na nivou pattern-a, a ne na nivou klasa i
objekata, sa ciljem da se na jednostavniji način postigne ista kooperativnost.
Design pattern-i su samo deo šireg područja software pattern-a (npr.
izvesni šabloni se mogu prepoznati i pri projektovanju korisničkih interfejsa,
pri pisanju upravljačkih programa za uređaje,...).
Dakle, početnu zainteresovanost za pattern-e valja i negovati i razvijati
upotrebljavajući ih i preispitujući ih tokom projektovanja.
U sledećih par godina, verovatno će se pojaviti mnogo knjiga, članaka
o (novim) pattern-ima, a do tada kao korisni izvori mogu da posluže i sledeće reference.
- Martin Flowler, UML ukratko, prevod Mikro knjiga, 2004.
- Alan Shalloway & James Trott, Projektni obrasci, prevod Mikro knjiga, 2004.
- Alexander, Christopher, Ishikawa, Sara, et. al., A Pattern Language, Oxford University Press,
New York, 1977.
-
Alpert, S., Brown, K. and Woolf, B., The Design Patterns Smalltalk Companion, Addison-
Wesley, 1998.
-
Buschman, F., Meunier, R., Rohnert, H., Sommerlad, P. and Stal, M., A System of Patterns, John
Wiley and Sons, New York, 1996.
-
Bill Curtis "Cognitive issues in reusing software artifacts "
p. 269-287 u knjizi Software Reusability, tom II: Applications and Expirence
-
Cooper, J. W., Principles of Object-Oriented Programming in Java 1.1 Coriolis (Ventana), 1997.
- Coplien, James O. Advanced C++ Programming Styles and Idioms, Addison-Wesley, Reading,
MA., 1992.
-
Coplien, James O. and Schmidt, Douglas C., Pattern Languages of Program Design, Addison-
Wesley, 1995.
-
Gamma, E., Helm, T., Johnson, R. and Vlissides, J., Design Patterns: Abstraction and Reuse of
Object Oriented Design. Proceedings of ECOOP '93, 405-431.
-
Gamma, Eric; Helm, Richard; Johnson, Ralph and Vlissides, John, Design Patterns. Elements of
Reusable Software., Addison-Wesley, Reading, MA, 1995
-
Krasner, G.E. and Pope, S.T., A cookbook for using the Model-View-Controller user interface
paradigm in Smalltalk-80. Journal of Object-Oriented Programmng I(3)., 1988
-
Kurata, Deborah, "Programming with Objects," Visual Basic Programmer's Journal, June, 1998.
Pree, Wolfgang, Design Patterns for Object Oriented Software Development, Addison-Wesley,
1994.
-
Riel, Arthur J., Object-Oriented Design Heuristics, Addison-Wesley, Reading, MA, 1996
-
B.Adelson, E.Soloway, The role of domain expirence in software design
IEEE Transactions on Software Engineering 11(11):1351-1360, 1985
nazad do Korisni izvori
- Patterns Group-Chicago
- EuroPLoP '98
- EuroPLoP '97
- Patterns Reading Group, Israel
- Patterns in Systems Architecture Workshop
- Chili PLoP '98
- EuroPLoP '96
- Patterns '98
- Design Patterns Study Group of NYC
- Pattern Theory Group Page
- Phoenix Patterns Group
- PLoP '98
- CORBA IDL Design Patterns Workshop
- DC Design Patterns Group
- PLoP '97
- PLoP '96
- Design Pattern Validation
- SigPatterns - ACM Patterns Working Group
- TriPLUG Home Page
- UIUC Smalltalk/Patterns Group
- UK Patterns Special Interest Group
- Sydney Patterns Group
- The Tampa Patterns Group
- Using Patterns Conference
- Workshop on Language Support for Design Patterns and Frameworks
nazad do Korisni izvori
- Thomas Kofler : Robust Iterators in ET++
- Jedan primer robusnog iteratora-The Dom Traversal Model
- Ward Cunningham's Wiki Web
- Bibliografija za software design pattern-e
- Cetus Links: Patterns
- Patterns Home Page
- OrganizationPatterns FrontPage
- Organization-patterns Mail Archive
- Portland Pattern Repository
- AGCS Patterns Pages
- Design Patterns Mailing Lists
- Pattern Mailing Lists
- DiaLogos Patterns Pages
- Patlets FrontPage - Patterns Database
- Quintessoft Pattern Links
- Software Design Patterns Resources, Gert Florijn
nazad do Korisni izvori
- Applying Design Patterns to the "R.A.S Havens" Project (thesis)
- Code Patterns Technology (white paper)
- Dirk Riehle's Patterns Research
- Doug Schmidt's Patterns Papers
- EuroPLoP '97 Papers
- Fzi Prost's Publications
- EuroPLoP '96 Papers
- James Noble's Drafts
- Jan Bosch's Papers
- Nikos A. Salingaros, contributions to architecture
- Mathematician sums up laws of Architecture
- Comments on Salingaros papers on Architecture
- AGCS Patterns Papers
- Industrial Experience with Design Patterns
- Instantiating Code Patterns
- Applying Patterns for Concurrent Software
- Automatic Code Generation from Design Patterns
- Christopher Alexander: Intro for O-O Designers
- Christopher Alexander's The Nature of Order
- Alexander's OOPSLA'96 speech
- Introducing Patterns into the Workplace
- Language Support for Design Patterns and Frameworks
- OOP Transience to Persistence: Architectures & Patterns
- OOPSLA'95 Patterns Papers
- Papers: Cunningham & Cunningham, Inc.
- Patterns, Protocols, and Frameworks (Booch)
- PLoP'94 Papers
- PLoP'96 Papers
- PLoP '97 Papers
- Konstantin Laufer's publications
- Research in OODBMS, Agents, Objects & Patterns
- Software Patterns - IAP'97
- Using Design Patterns to Develop Reusable O-O Software
- Aamod Sane's Patterns Papers
- Addison-Wesley Software Patterns Series
- DASCo Patterns
nazad do Korisni izvori
- Broadening Beyond Objects to Patterns and to other Paradigms
- Design Patterns Tutorial, Brian Kurotsuchi
- Design Patterns Tutorials, Doug Schmidt
- Developing O-O Software with Patterns and Frameworks
- Idioms and Patterns as Architectural Literature
- Introduction to Patterns (Animated)
- OOD using Design Patterns Course
- Organizational Patterns, presentation
- Pattern Definitions
- Patterns and Software: Essential Concepts and Terminology
- Patterns, by Grady Booch
- Patterns-discussion FAQ
- Patterns: The Top Ten Misconceptions
- Pattern Writer's Workshop Tutorial
- Patterns BookList
- Repetition, Generativity, and Patterns
- Code Patterns
- Cope's "The Human Side of Patterns"
- Ada Implementations of Design Patterns
- Seven Habits of Successful Pattern Writers
- Software Patterns - CACM Guest Editorial
- The Coad Letter Archives
- TipsForWritingPatternLanguages
- Developing Patterns Studies, Richard Gabriel
- Ethics, Values and Patterns
- Excerpt from Cope's "Software Patterns"
- History of Patterns
- Best Practices: The Programmer Writing
- Design Patterns Intro by Bernard J. Dagher
- Finding solutions through pattern languages
- Frameworks and Design Patterns
- Generative Pattern Languages: An emerging direction of software design
nazad do Korisni izvori
- Information Architecture and Process Innovation
- Roles Before Objects
- AntiPatterns
- Bruce Whitenack's RAPPeL
- RAPPeL je pattern jezik
- Caterpillar's Fate: Transformation from Analysis to Design
- ConfigurationManagementPatterns
- BPRPatternLanguage
- Cope's Process Patterns
- CORBA IDL Design Patterns and Idioms
- Application of Patterns to Reduce Complexity in Software Development
- Design Patterns for Concurrent, Parallel, and Distributed Systems
- Design Process Patterns, Narendra Ravi
- Dirk Riehle's Design Patterns
- Architectural Styles and Design Patterns for Distributed Objects
- Dolphin Smalltalk Patterns Index
- Pattern-Based Reengineering
- Arcus Design Patterns Cookbook
- Pattern Languages for Interaction Design
- Patterns for Abstract Design
- Don Olson's Team Patterns
- Early Development
- Experiences: a Pattern Language for UI Design
- HTML Pattern Language
- Introducing Patterns into the Workplace
- Intuitive Systems's Patterns
- Nat Pryce's Design Patterns
- Organizational Patterns for Software Architecture
- Pattern Languages for Designers and Users of Technology
- Patterns for Adaptive Programming
- ACE Design Patterns (for Concurrent, Parallel, and Distributed Systems)
- Patterns for Framework Evolution
- Patterns for Managing Software Evolution (postscript)
- Patterns for Scripting Components
- Patterns in Order Management Systems
- Pattern-based Reengineering
- Pedagogical Patterns
- Alistair Cockburn's Risk Management Patterns
- ProcessPatterns on the Wiki Web
- Relational Database Access Layers
- Pattern jezik
- Patterns of Self-Organizing Systems
- Patterns of Software Reuse
- Smalltalk ENVY/Developer Patterns
- Software Reuse Best Practice Patterns
- Steve Berczuk's CM Patterns
- System Test Pattern Language
- The Stony Brook Algorithm Repository
- Terris Linenbach's CM Patterns
- Type Laundering
- UnixShellPatterns
- Walter Tichy's Software Design Patterns Catalogue
- WritersWorkshopPatterns
nazad do Korisni izvori
- RegularContributors to Ward's Wiki Web
- Christopher Alexander
- Kent Beck
- Jim Coplien's Home Page
- Ralph E. Johnson
- Tim Ottinger
- Alistair Cockburn, Humans and Technology
- Douglas C. Schmidt's Welcome Page
- Aamod Sane's Home Page
- Michael Beedle's Home Page
- Steve Berczuk's Home Page
- Ward Cunningham
- Brian Foote
- Doug Lea's Workstation
- Dirk Riehle
nazad do Korisni izvori