Design Patterns in Modern C++20: Reusable Approaches for Object-Oriented Software Design