This repository contains various exercises, examples, and project components related to Software Engineering, developed as part of the coursework at SUPSI.
The exercises and implementations in this repository cover different aspects of Software Engineering, focusing heavily on Design Patterns and Architecture, including:
- Design Patterns: Implementation and application of various common patterns (e.g., Factory, Singleton, Observer, Strategy, Adapter).
- Design Principles (SOLID, DRY, KISS): Applying fundamental principles for creating maintainable, flexible, and scalable software.
- Software Architecture: Exploration of different architectural styles (e.g., Layered Architecture, Clean Architecture).
- Refactoring: Techniques for improving existing code structure without changing external behavior.
- Testing: Introduction to unit and integration testing methodologies.
The code in this repository is primarily meant for learning and demonstration purposes within the academic context. While effort is made to follow best practices, the solutions prioritize clarity and understanding of the core concepts (especially Design Patterns and Design Principles) and may be simplified compared to production-level code.
If you find errors or have improved solutions/alternative implementations for the exercises, feel free to contribute!
- Fork the repository.
- Create your feature branch (
git checkout -b feature/AmazingFeature). - Commit your changes (
git commit -m 'Add some AmazingFeature'). - Push to the branch (
git push origin feature/AmazingFeature). - Open a Pull Request.
| Component | Detail |
|---|---|
| 🖥️ Author | Kevin Croce |
| 🏫 University | SUPSI |
| 📚 Course | Software Engineering 2 |
| 📅 Semester | 5th Semester Student |