Abstract : We consider the problem of estimating a function s on [−1,1]k for large values of k by looking for some best approximation of s by composite functions of the form g ◦ u. Our solution is based on model selection and leads to a very general approach to solve this problem with respect to many different types of functions g, u and statistical frameworks. In particular, we handle the problems of approximating s by additive functions, single and multiple index models, neural networks, mixtures of Gaussian densities (when s is a density) among other examples. We also investigate the situation where s = g ◦ u for functions g and u belonging to possibly anisotropic smoothness classes. In this case, our approach leads to a completely adaptive estimator with respect to the regularity of s.