In this repository, we talk about the Software Engineering Concepts
and try to create amazing applications to make the world a better place!
so, in this journey, we can help each other ;) let's go...
In this section we will talk about some important concepts.
- Wikipedia
In software engineering, SOLID is a mnemonic acronym for five design principles intended to make software designs more understandable, flexible, and maintainable. The principles are a subset of many principles promoted by American software engineer and instructor Robert C. Martin, first introduced in his 2000 paper Design Principles and Design Patterns.
- S – SRP – Single-responsiblity principle
- O – OCP (Open-closed principle)
- L – LSP (Liskov substitution principle)
- I – ISP (Interface segregation principle)
- D – DIP (Dependency Inversion Principle)
Design patterns are solutions to recurring problems; guidelines on how to tackle certain problems. They are not classes, packages or libraries that you can plug into your application and wait for the magic to happen. These are, rather, guidelines on how to tackle certain problems in certain situations. Read more...
Design patterns are solutions to recurring problems; guidelines on how to tackle certain problems
Wikipedia
In software engineering, a software design pattern is a general reusable solution to a commonly occurring problem within a given context in software design. It is not a finished design that can be transformed directly into source or machine code. It is a description or template for how to solve a problem that can be used in many different situations.
- Introduction in detail
- Design Patterns Types
- Creational Design Patterns
- Structural Design Patterns
- Behavioral Design Patterns
Here we try to introduce great and useful references. Read more about all of the references.
- Data Structures and Algorithms
- Clean Code
- Design Patterns
- Testing
- Refactoring
- Messaging (Message Brokers)
- Software Architecture
- System Design
- Data Base
=> + and some Articles
we try to introduce the best references, but first of all, I think it's better to take a look at the Developer Road-map.
- Report issues
- Open pull request with improvements