1 / 16

Design Patterns In OPM

Design Patterns In OPM. Presented by: Galia Shlezinger Instructors: Prop. Dov Dori, Dr. Iris Berger. Research purpose. Model known design patterns in OPM Construct a meta-model for design patterns Demonstrate design in OPM using a test-case Develop best practices for design in OPM

naasir
Télécharger la présentation

Design Patterns In OPM

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Design Patterns In OPM Presented by: Galia Shlezinger Instructors: Prop. Dov Dori, Dr. Iris Berger

  2. Research purpose • Model known design patterns in OPM • Construct a meta-model for design patterns • Demonstrate design in OPM using a test-case • Develop best practices for design in OPM • Hopefully, Develop new design patterns for OPM.

  3. Topics of this presentation • In this presentation we will review three well known Design patterns from “Design patterns: Elements of Reusable Object-Oriented Software”. And how they are modeled in OPM. • We will see that these three design patterns are naturally “built into” OPM and their positive consequences are relevant for most OPM models.

  4. The Command Design Pattern • “Intent: Encapsulate a request as an object, thereby letting you parameterize clients with different requests, queue or log requests, and support undoable operations.”[1] Menu item application interface paste document

  5. Command in OPM • Commands are actually processes • Processes can be generalized

  6. The Command Design Pattern • “Consequences: • Decouples the object that invokes the operation from the one that knows how to perform it. • Commands are first class objects they can be manipulated and extended like any other object. • You can assemble commands into a composite command. (Macro command) • Its easy to add new commands, because you don’t have to change existing classes.” [1].

  7. The Template Method Pattern • “Intent: Define the skeleton of an algorithm in an operation, deferring some steps to subclasses. Template Method lets subclasses redefine certain steps of an algorithm without changing the algorithm’s structure.” [1]

  8. Template method in OPM • Methods are processes • Processes can be aggregated and generalized.

  9. The Template Method Pattern • “consequences: template methods are a fundamental technique for code reuse… they are the means for factoring out common behavior … hook operations…” [1].

  10. The Visitor Design Pattern • “Intent: Represent an operation to be preformed on the element of an object structure. Visitor lets you define a new operation without changing the classes of the elements on which it operates.”[1]. node Node visitor VariableRef Node Type checking visitor

  11. Visitor in OPM • Operations are processes • Different operations are all specialization of a common generalized operation that is actually the operation interface. • The element object is an instrument of this generalized process.

  12. The Visitor Design Pattern • “Consequences: • Visitor makes adding new operations easy… • A visitor gathers related operations and separates unrelated ones… • Adding new concrete element classes is hard… • Breaking encapsulation…” [1]

  13. Conclusions • OPM advantages: • Decoupling • Less sub-classing • Breaking encapsulation • OPM disadvantages: • Breaking encapsulation

  14. Some more research goals • Studying design pattern structure using OPM models. • Studying the relationship between design patterns using OPM models. • Developing best practices and design patterns for solving design problems in OPM.

  15. References • Gamma, Helm, Johnson, Vlissides, “Design Patterns: Elements of Reusable Object-Oriented Software”, Addison-Wesley 1994. • Dori, “Object-Process Methodology: a Holistic Systems Paradigm”, Springer 2002.

  16. Questions

More Related