При разработке информационных систем объектно-ориентированными средствами предварительно разрабатывают ОО-библиотеку в виде разветвленной иерархии классов, которой прикладной программист может пользоваться как напрямую, так и дорабатывать под свои нужды. Для FreePascal одной из наиболее известных и широко используемых иерархий является библиотека LCL (Lazarus Component Library), аналогичные библиотеки общего назначения существуют и для других ОО-языков. Часто разрабатывают тематические ОО-библиотеки, для построения информационных систем специального назначения (финансовых, математических, астрономических, CAD-систем и т.д.).
Реализовать ОО-библиотеку для обработки списков различных типов. Предлагаемая иерархия:
Узлы | Списки | ИСС |
TBaseListNode(TObject) | +--TIntListNode | +--TStringListNode | ... |
TBaseList(TObject) | +--T1List | +--T1CList | +--T2List | +--T2CList |
EListError(Exception) | +--EListEmpty | +--EListEmptyBaseNode | +--EListEmptyAuxNode |
Шаблон модуля прилагается. Описание иерархии ИСС предлагается раеализовать самостоятельно.
Провести комплексную проверку разработанной библиотеки.