Design
Design Patterns are general reusable solution use to solve common problem in software
engineering. It is a formalize best practice use by software engineer to solve current problem
while developing a software. It's like a methodology to follow for solving a repeatable type of
problem why developing a software.
Design pattern has the following characteristic
General: Design patterns are not specific to a particular programming language or
application. They can be applied in various contexts.
Repeatable: The problems that design patterns address tend to occur frequently in
software development. By using a design pattern, you can avoid reinventing the wheel
each time you encounter the same issue.
Solution: Design patterns offer proven solutions to common design problems. They
represent best practices and lessons learned by experienced developers.
Template: A design pattern isn't a finished piece of code that you can copy and paste.
Instead, it provides a general structure and guidance on how to solve a problem, which
you can then adapt to your specific needs.
So while developing a software we know that there are some problem you are going to
encounter. How do we know that you are going to face those different challenges because
there are software developer a head of us. With a lot of experience. They have developed a lot
of software so for the difficulties they have encounter from some specific problem they have
deceided to define a methodologie to follow in other to solve those problem. So a design
pattern is not a piece of code that you copy and you paste. No is a list of different steps that
you are going to follow in other to solve those specific problem.
An example of design pattern we saw was MVC the model view controller. Developers a
head of us noticed that while developing a software we always face the problem of organizing
the code. Imagine that you are building an application to store a product into a data base.