  In this paper we develop homotopy theoretical methods for studying diagrams.
In particular we explain how to construct homotopy colimits and limits in an
arbitrary model category. The key concept we introduce is that of a model
approximation. Our key result says that if a category admits a model
approximation then so does any diagram category with values in this category.
  From the homotopy theoretical point of view categories with model
approximations have similar properties to those of model categories. They admit
homotopy categories (localizations with respect to weak equivalences). They
also can be used to construct derived functors by taking the analogs of fibrant
and cofibrant replacements.
  A category with weak equivalences can have several useful model
approximations. We take advantage of this possibility and in each situation
choose one that suits our needs. In this way we prove all the fundamental
properties of the homotopy colimit and limit: Fubini Theorem (the homotopy
colimit -respectively limit- commutes with itself), Thomason's theorem about
diagrams indexed by Grothendieck constructions, and cofinality statements.
Since the model approximations we present here consist of certain functors
"indexed by spaces", the key role in all our arguments is played by the
geometric nature of the indexing categories.
