chapter_5 Flashcards
object-oriented style: components are _______
objects: data and associated operations
object-oriented style: connectors are ________
messages and method invocations
object-oriented style invariants: objects are responsible for
their internal representation integrity
oo-style internal representation is _______
hidden from other objects
oo-style advantages: “infinite malleability of”
object internals
oo-style system decomposition _______
into sets of interacting agents
disadvantages of object-oriented style (2)
objects must know identities of servers, side effects in object method invocations
layered style: hierarchical system organization (2)
multi-level client server, each layer exposes an interafce (API) to be used by above layers
layered style: each layer acts as a (2)
server: service provider to layers “above”, client: service consumer of layer(s) “below”
layered style: connectors are _____
protocols of layer interaction. example: operating systems
virtual machine style ______
results from fully opaque layers
layered style advantages (5)
- increasing abstraction levels 2. evolvability 3. changes in a layer affect at most the adjacent two layers (resuse) 4. different implementations of layer are allowed as long as interface is preserved 5. standardized layer interfaces for libraries and frameworks
layered style disadvantages (2)
disadvantages (not universally applicable, performance), layers may have to be skipped (determining the correct abstraction level)
client-server style (4)
components are clients and servers, servers do not know number or identities of clients, clients know server’s identity, connects are RPC-based network interaction protocols.
data-flow style: batch sequential (3)
batch sequential separate programs are executed in order; data is passed as an aggregate from one program to the next. connectors: “the human hand” carryign tpaes between the programs, aka “sneaker-net”, data elements: explicity aggregate elements passed from one component to the next upon completion of the producing program’s execution.