This paper describes how a computational system for designing can learn useful, reusable, generalized search strategy rules from its own experience of designing. It can then apply this experience to transform the design process from search based (knowledge lean) to knowledge based (knowledge rich). The domain of application is the design of spatial layouts for architectural design. The processes of designing and learning are tightly coupled.