Structural Design• Patterns: Composite
File System
Medium
Problem Summary
Design an in-memory Directory and File management system that processes nesting structures and size computations.
Functional Scope
- Directories can contain files or other nested directories.
- Calculate directory sizes dynamically (sum of all nested contents).
- Support standard actions like list, delete, and search.
Entity-Relationship (ER) Schema
Directory [1] <---> [*] FileSystemEntry FileSystemEntry <|-- File FileSystemEntry <|-- Directory
Design Approach
Implement the Composite design pattern. Ensure directories and files inherit from the same base class to process sizes and listing routines uniformly.
Core Classes & Models
FileSystemEntry (Base abstract component)File (Leaf component)Directory (Composite component containing children)
Code Blueprint
public abstract class FileSystemEntry {
protected String name;
public abstract int getSize();
}