Examples
Team LiB
Previous Section Next Section

Examples

Example: Backup program. In naïve designs, high-level components depend on low-level details. For example, an ill-designed backup program might have an archiving component that depends directly on types or routines that read the directory structure and others that write data on the tape. Adapting such a program to a new file system and backup hardware would incur significant redesign.

If the logic of the backup system is designed around well-designed abstractions of a file system and backup device, no redesign is neededonly new implementations of the abstract interfaces must be added and plugged into the system. As should be natural, new requirements are met by new code; new requirements should not cause rework on existing code.

    Team LiB
    Previous Section Next Section