Here are two important generalizations of the notion of topological space:
C-algebras.
Given a space X, one considers the set of continuous functions from X to ℂ. One then looks at all the properties of this set (it's an algebra, it's a Banach space, ...). One relaxes a bit the conditions (allow the multiplication to be non-commutative): there you get the notion of a C-algebra.Stacks.
Given a space X, one considers the collection of all maps Y→ X, where Y is an arbitrary space. We then look at at their properties (they form a category over Top1, there exists a notion of precomposition bywith a map Y'→Y, they behave well w.r.t open covers, ...). Relax some conditions, and you'll get the notion of a stack.
By focusing on out of a space X, you get the notion of C*-algebra.
By focusing on maps into a space X, you get the notion of stack.
1Here, *Top* refers to the category of topological spaces. Stacks are encountered more often in algebraic geometry. In that case, where one would useuses the category of schemes insteadin place of *Top*.