BABAR experiment is the first High Energy Physics experiment to extensively
use object oriented technology and the C++ programming language for online
and offline software. Object orientation permits to reach a high level of
flexibility and maintainability of the code, which is a key point in a larg
e project with many developers. These goals are reached with the introducti
on of reusable code elements, with abstraction of code behaviours and polym
orphism. Software design, before code implementation, is the key task that
determines the achievement of such a goal.
We present the experience with the application of object oriented technolog
y and design patterns to the reconstruction software of the Instrumented Fl
ux Return detector of BABAR experiment. The use of abstract interfaces impr
oved the development of reconstruction code and permitted to flexibly apply
modification to reconstruction strategies, and eventually to reduce the ma
intenance load.
The experience during the last years of development is presented. An iterat
ive review and improvement of the design has been strategically applied to
the code areas which showed to be, on the basis of experience, more delicat
e. (C) 2001 Elsevier Science B.V. All rights reserved.