CPSC 875 CPSC 875 John D McGregor John D. McGregor Class 5 Design - - PowerPoint PPT Presentation
CPSC 875 CPSC 875 John D McGregor John D. McGregor Class 5 Design - - PowerPoint PPT Presentation
CPSC 875 CPSC 875 John D McGregor John D. McGregor Class 5 Design Concept Styles and patterns Styles and patterns An architecture style and a pattern are very An architecture style and a pattern are very similar A pattern may have
Styles and patterns Styles and patterns
- An architecture style and a pattern are very
An architecture style and a pattern are very similar
- A pattern may have more information
- A pattern may have more information,
particularly more information about trade‐offs among attributes among attributes.
Logical/Physical Logical/Physical
- Separate processes
Separate processes
- Separate hardware
ll h l i l i l
- Usually have multiple processes on single
hardware element
- Seldom have single process on multiple
hardware
- Start at the logical level
- Then conform to physical deployment
Then conform to physical deployment environment
Ubiquitous architecture styles Ubiquitous architecture styles
- Layers
Layers
Ubiquitous architecture styles Ubiquitous architecture styles
- Client/Server
Client/Server
request client server DB return
Master/Slave Master/Slave
- http://hudson‐ci org/docs/HudsonArch‐
http://hudson ci.org/docs/HudsonArch Execution.pdf
Model‐View‐Controller Model View Controller
- http://www.dossier‐
p // andreas.net/software_architecture/mvc.html
- As anti‐pattern
// / / / – http://broadcast.oreilly.com/2008/10/mvc‐as‐anti‐pattern.html
MVC MVC
What are the essentials? What are the essentials?
- Separation of data from presentation
Separation of data from presentation
– Have multiple views
- Separation of control from presentation
- Separation of control from presentation
– Have multiple controllers
- Attributes
– Extensible
Decomposition Decomposition
- Our value computation is an interactive system. So we can start with MVC from
slide 16 and decompose from there. Controller Controller Controller Controller Model View d l Data Editor System Model menu Properties editor Controller Controller Controller Controller Editor Model Data Editor System System Model Editor System menu Properties editor
Extension Extension
Controller Controller Controller Controller Editor Model Data S t Controller System Model Editor Model Editor System menu Properties editor Controller Controller Controller Controller Editor Model Data Editor System System Model menu Properties editor
DataBase
Pipeline Pipeline
- http://msdn.microsoft.com/en‐us/library/ff963548.aspx