Architecture
graph TB
subgraph presentation [Presentation Layer]
HTTP[HTTP Protocol]
Handler[Request Handler]
Registry[Handler Registry]
end
subgraph application [Application Layer]
Service[Shortener Service]
BaseService[Base Shortener]
end
subgraph domain [Domain Layer]
Encoder[Base62 Encoder]
Exceptions[Business Exceptions]
end
subgraph infrastructure [Infrastructure Layer]
Storage[Storage Implementations]
HTTPUtils[HTTP Utils]
Config[Configuration]
Factory[Factory Functions]
end
HTTP --> Handler
Handler --> Registry
Registry --> Service
Service --> BaseService
BaseService --> Storage
Service --> Encoder
Service --> Exceptions
Storage --> Factory
HTTPUtils --> Factory
Config --> Factory
Factory --> Service
Layer Responsibilities