Software Design Flashcards
interface
everything that must be known to users
method
a block of code that only runs when it is called
public methods of a class
APIs
ArrayList
a resizeable array implementation of the list interface in Java
a special form of association that is used to express that instances of one class are parts of an instance of another class
aggregation
everything that must be known to users
interface
the act of keeping both the data and the computation in the same place in order to limit the number of contact point between different parts of your system
encapsulation
3 ways of escaping refrences
1) returning a refrence to an external object
2) storing a external refrence internally
3) leaking a refrence through a shared structure
object that can’t be changed
immutable
disadvantage of immutability
creating more objects, garbage collection
extended interface
extended with methods returning only refrences to immutable objects
extended with methods returning only refrences to immutable objects
extended interface
copy constructor
a classical technique for copying objects
number of relationships between entities
coupling
a classical technique for copying objects
copy constructor