What is the difference between layer of abstraction and level of . . . Abstraction deals with simplification, indirection deals with location Abstraction is a mechanism that "hides" complicated details of a object in terms of simpler, easier to manipulate terms In programming, a good example is the difference in details between machine code and the various tools for creating applications that are ultimately based on machine code Consider creating a Windows
C++ Pointers: Number of levels of Indirection 2 Note that a linked list of 42 elements contains 42 levels of indirection for accessing the last element To get to the element of a one-element list, you use a single indirection: given a pointer to the list, you do something like p->data To get to the second element, two indirections are required: p->next->data Each arrow is an indirection
In C, is * an operator, or part of a type in a declaration? In C, * is called the indirection operator or the dereference operator I understand how it works when it is used in a statement It makes sense to write *p or * p, considering that it is a unary
object oriented - Is Controller a special kind of Indirection in GRASP . . . Yes, Controllers are a good example of Indirection -- indeed, the page you linked to even identifies it as such: "The indirection pattern supports low coupling and reuses potential between two elements by assigning the responsibility of mediation between them to an intermediate object An example of this is the introduction of a controller component for mediation between data (model) and its