Skip to content

Latest commit

 

History

History
45 lines (29 loc) · 5.16 KB

File metadata and controls

45 lines (29 loc) · 5.16 KB
graph LR
    Gregorian_Calendar_Utilities["Gregorian Calendar Utilities"]
    Specialized_Calendar_Implementations["Specialized Calendar Implementations"]
    Specialized_Calendar_Implementations -- "leverages utilities from" --> Gregorian_Calendar_Utilities
Loading

CodeBoardingDemoContact

Details

The holidays project is structured around two core architectural components: Gregorian Calendar Utilities and Specialized Calendar Implementations. The Gregorian Calendar Utilities component serves as a foundational layer, providing essential date calculation functionalities based on the Gregorian calendar. This includes common operations like determining Nth weekdays and calculating time differences. Building upon this foundation, the Specialized Calendar Implementations component comprises a suite of modules, each dedicated to accurately calculating holidays within various non-Gregorian calendar systems. These specialized modules leverage the utilities provided by the Gregorian Calendar Utilities for conversions and interactions with Gregorian dates, ensuring accurate holiday determination across diverse cultural and religious contexts. This clear separation of concerns allows for modularity and extensibility, enabling the addition of new calendar systems without impacting existing implementations.

Gregorian Calendar Utilities

This component provides fundamental, reusable utilities for Gregorian calendar date calculations. Its functionalities include determining Nth weekdays, calculating time differences, and identifying specific dates (e.g., all Sundays). It acts as a foundational layer, offering core date manipulation capabilities that other calendar systems may utilize for conversions or interactions with Gregorian dates.

Related Classes/Methods:

Specialized Calendar Implementations

This component represents a collection of distinct modules, each solely responsible for implementing the algorithms and logic required to calculate specific holidays or significant dates within its respective non-Gregorian calendar system. This includes handling unique calendar rules, leap years, and historical variations specific to calendars such as Balinese Saka, Buddhist, Chinese, Hebrew, Hindu, Islamic, Mandaean, Mongolian, Persian, Sinhala, Thai, and Tibetan. These modules are crucial for accurate holiday date determination across diverse cultural and religious contexts.

Related Classes/Methods: