Download
evolutionary patterns of design and design patterns n.
Skip this Video
Loading SlideShow in 5 Seconds..
Evolutionary Patterns of Design and Design Patterns PowerPoint Presentation
Download Presentation
Evolutionary Patterns of Design and Design Patterns

Evolutionary Patterns of Design and Design Patterns

405 Views Download Presentation
Download Presentation

Evolutionary Patterns of Design and Design Patterns

- - - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript

  1. Evolutionary Patterns of Design and Design Patterns • Author:Mikio Aoyama • Excerpt from : 2001 IEEE 指導老師:張顧耀 學 生:邱金杰 學 號:E9406003

  2. Evolutionary Patterns of Design and Design Patterns Outline • Introduction • Principles of Design Patterns • Pattern Family • Patterns of Design Evolution • Modeling Design Evolution with Patterns • Application to Pattern-Based • Conclusions

  3. Introduction • Design patterns are considered well-formed language to represent software design. • Propose several notions of design evolution and discuss the patterns of design evolution in terms of design patterns. • Propose a classifcation of design patterns into pattern families. • To model the design patterns and the evolutionary relationship between them. • Propose a set of graphical notations of design Patterns and their evolution, namely pattern type diagram(PTD) and pattern evolution diagram(PED).

  4. Introduction • The pattem evolution diagram(PED) is proposed To represent the structure of design evolution. • Explore the concept of pattern family with an example of Factory patterns. • A set of pattems of design evolution is formalized with an example of evolution of Factory pattems. • As an example, an evolutionary design of pattern-based framework

  5. Model of Design Patterns Although the real problems are much more complicated, the solution process abovementioned can provide a principle of design patterns for solving complex problems.

  6. Principle of Design Patterns

  7. Principle of Design Patterns A simple diagram notation, Pattern Type Diagram (PTD), to represent one pattem with a box as exemplified in Figure 2.

  8. Pattern Family Creational Patterns Abstract Factory: Creates an instance of several families of classes Builder : Separates object construction from its representation Factory Method : Creates an instance of several derived classes Prototype : A fully initialized instance to be copied or cloned Singleton : A class of which only a single instance can exist Structural Patterns Adapter : Match interfaces of different classes Bridge : Separates an object’s interface from its mplementation Composite : A tree structure of simple and composite objects Decorator : Add responsibilities to objects dynamically Facade : A single class that represents an entire subsystem Behavioral Patterns Strategy : Encapsulates an algorithm inside a class

  9. Pattern Family A pattem family is a set of pattems sharing the same central forces, or design goals and constraints.

  10. Two Types of Design Evolution (1) Intensive evolution is caused by some intemal change of problem space, from R,to RI’, such as requirements change, bug fix and design improvement. (2) Extensive evolution is caused by extension of problem space, from R to R+Re. Re is exemplified by adding new requirements and accommodating new operating

  11. Pattern Evolution Operations

  12. Pattern Evolution Diagram

  13. Modeling Design Evolution with Patterns

  14. Example: Micro Evolution of Factory Family

  15. Application to Pattern-Based Framework Design • To solve file reader framework .Original problem is decomposed into the following three primitive problems. • 1.To handle recursively structured record. • 2.To handle record of arbitral length until the end of record is detected by read object method. • 3. Store the record into corresponding object depending on the input record structure.

  16. Application to Pattern-Based Framework Design

  17. Application to Pattern-Based Framework Design

  18. Conclusions • Authorproposed a set of' concepts, representations, and methodology to understand design evolution in terms of design pattems. • Let reader understand both design pattems and design evolution with simple framework. • To find appropriate design pattems and compose them in order to solve complex problems such as building application frameworks with design pattems. • Took a semi-formal approach since pattern language is inherently semi-formal because design is an exploratory process and open to experience.