1 / 18

Architectural Styles

Architectural Styles. SAIP 5. Styles are Patterns. Bigger than design patterns More abstract than reference models domain independent not a particular design rules for design. Styles are Patterns. Similar need examples to understand must use before you understand fully

luisa
Télécharger la présentation

Architectural Styles

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. Architectural Styles SAIP 5

  2. Styles are Patterns • Bigger than design patterns • More abstract than reference models • domain independent • not a particular design • rules for design

  3. Styles are Patterns • Similar • need examples to understand • must use before you understand fully • advantages and disadvantages • every use is different • many variations

  4. Styles are patterns • Different • so big, and with so many variations, that it is better to think of them as a set of patterns Pattern Oriented Software Architecture • so big that you could write a book on each one • so big that people tend to know just a few

  5. Three Styles in One System • Layers • Dataflow (Pipes and Filters) • Object-Oriented

  6. The System • Framework for music improvisation • Bill Walker • Two applications • Jazz piano duets • Extreme modern electronic improvisation http://datura.cerl.uiuc.edu/BillWalker/ dissertation/Dissertation.html

  7. The Layers Control Music transformation Music Representation Hardware

  8. Dataflow architectural style • Components are filters • Filters transform input to output • Filters don’t • share state • know identity of input or output • Example: Streams

  9. Advantages of dataflow • Easy to understand • Easy to change • Easty to maintain • Components are reusable • Handle parallelism well

  10. Disadvantages of dataflow • Not good for interactive processing • Doesn’t handle separate but related streams very well. • Doesn’t model state very well.

  11. Music Improvisor MIDI Chord Finder chords Sequence Finder Keyboard sequences Transformer chords Chord Builder MIDI out sequences

  12. Dataflow • Pull • getNext() • multiple inputs easy, multiple outputs hard • Push • putNext(data) • multiple outputs easy, multiple inputs hard • Pipes and filters • filter is a process • less efficient

  13. Data Representation MusicalObject * * * Midi Event Note Chord Sequence

  14. Dataflow Stream Chord Builder Retrograde Keyboard Chord Finder Sequence Finder

  15. Use of OO Techniques • Polymorphism makes it easy to make new combination of components • At runtime! • Inheritance makes it easier to make new component

  16. Summary: 3 styles • Layers divides system into three parts • Dataflow organizes one layer • OOP is used to describe data (bottom layer), provide reusable components for dataflow system (middle layer) and to implement the control system (top layer).

  17. Criticism • SAIP claims that you decide the qualities that you want and then pick a style • but many styles for each quality • but many other considerations in picking style • which ones you know • compatibility with other architectural choices • styles are more complicated than they indicate

  18. Summary • Architectural styles are very important • More complex than indicated by book • It takes a long time to learn a new style, but it is worth it • We need better descriptions of the styles!

More Related