chap data structures and algorithms example consider the design for relatively simple database system stored on disk typicallyrecords on disk in such program are accessed through buffer pool (see section rather than directly variable length records might use memory manager (see section to find an appropriate location within the disk file to place the record multiple index structures (see will typically be used to access records in various ways thuswe have chain of classeseach with its own responsibilities and access privileges database query from user is implemented by searching an index structure this index requests access to the record by means of request to the buffer pool if record is being inserted or deletedsuch request goes through the memory managerwhich in turn interacts with the buffer pool to gain access to the disk file program such as this is far too complex for nearly any human programmer to keep all of the details in his or her head at once the only way to design and implement such program is through proper use of abstraction and metaphors in object-oriented programmingsuch abstraction is handled using classes data types have both logical and physical form the definition of the data type in terms of an adt is its logical form the implementation of the data type as data structure is its physical form figure illustrates this relationship between logical and physical forms for data types when you implement an adtyou are dealing with the physical form of the associated data type when you use an adt elsewhere in your programyou are concerned with the associated data type' logical form some sections of this book focus on physical implementations for given data structure other sections use the logical adt for the data type in the context of higher-level task example particular java environment might provide library that includes list class the logical form of the list is defined by the public functionstheir inputsand their outputs that define the class this might be all that you know about the list class implementationand this should be all you need to know within the classa variety of physical implementations for lists is possible several are described in section design patterns at higher level of abstraction than adts are abstractions for describing the design of programs -that isthe interactions of objects and classes experienced software