Architecture Flashcards
Types of architecture
- Data centered
- Data flow architecture
- Call and return (main program/subprogram)
- Object-oriented (?!!!)
- Layered
Class design principles
- Open-closed
- Liskov substitution principle
- Dependency inversion
- Interface segregation
- Release reuse equivalence
- Common closure
- Common reuse
Open-closed principle
Class (component) is open for extension but closed for modification (interface)
Liskov substitution principle
Subclasses should be substitutable for their base classes
Dependency inversion principle
Depend on abstractions, don’t depend on concretions.
OCL example
context
pre:
post:
inv:
What is a client-server architecture?
3 components:
- A set of stand-alone servers offering services.
- A set of clients that call on services offered by the servers.
- A network allowing communication between the servers and the clients.
Interface segregation principle
Clients shouldn’t depend on method they don’t use.
Leeds to splitting of interfaces.
Release reuse principle
Only released (finished) component can be reused
Common closure pronciple
Package classes together if they are likely to be changed together.
Common reuse principle
Package classes together if they are likely to be used together.