-
Notifications
You must be signed in to change notification settings - Fork 441
How to Introduce Software Design Patterns
Henne Vogelsang edited this page Oct 18, 2023
·
8 revisions
Steps to prepare your design pattern proposal and get it approved by the team:
- In the wiki's sidebar, add a link
WIP: My Pattern Proposal
under theSoftware Design Patterns
section. - Click on the newly created link and write down your design pattern proposal. Explain which problem it solves and what the solution is. Include any link which might help understanding this concept. Maybe in the form of a Problem-Statement-&-Solution?
- Once your proposal is complete, mark it open for comments/reviews from the team by replacing the prefix
WIP:
byRFC:
. Don't forget to change this in both the page title and your proposal's link in the wiki sidebar under theSoftware Design Patterns
section. - At the top of your proposal's wiki page, add the text
Approved by:
on a new line. This will be used in the following steps. - Introduce your proposal to the team. Implementing it in a PR is a good starting point to discuss about the changes, teach others and gather feedback.
- Address feedback and gather approvals for your proposal from team members by having them add their name at the end of the
Approved by:
line on your proposal's wiki page. - Once the team reaches an agreement, remove the prefix
RFC:
both from the page title and your proposal's link under theSoftware Design Patterns
section. - Celebrate and start using this design pattern! 🎉
- Development Environment Overview
- Development Environment Tips & Tricks
- Spec-Tips
- Code Style
- Rubocop
- Testing with VCR
- Authentication
- Authorization
- Autocomplete
- BS Requests
- Events
- ProjectLog
- Notifications
- Feature Toggles
- Build Results
- Attrib classes
- Flags
- The BackendPackage Cache
- Maintenance classes
- Cloud uploader
- Delayed Jobs
- Staging Workflow
- StatusHistory
- OBS API
- Owner Search
- Search
- Links
- Distributions
- Repository
- Data Migrations
- next_rails
- Ruby Update
- Rails Profiling
- Installing a local LDAP-server
- Remote Pairing Setup Guide
- Factory Dashboard
- osc
- Setup an OBS Development Environment on macOS
- Run OpenQA smoketest locally
- Responsive Guidelines
- Importing database dumps
- Problem Statement & Solution
- Kickoff New Stuff
- New Swagger API doc
- Documentation and Communication
- GitHub Actions
- How to Introduce Software Design Patterns
- Query Objects
- Services
- View Components
- RFC: Core Components
- RFC: Decorator Pattern
- RFC: Backend models