Larasoft's SOPs
  • Larasoft's Transparent SOPs
  • Laravel SOPs
    • Getting Started
    • How to read this guide
    • Environment
    • Configuration
    • Naming Conventions
    • Database Conventions
    • Design Patterns
    • Testing
    • Frontend Development
    • Resources and Links
  • Internal SOPs
    • Internal SOPs
Powered by GitBook
On this page

Was this helpful?

  1. Laravel SOPs

Design Patterns

PreviousDatabase ConventionsNextTesting

Last updated 4 years ago

Was this helpful?

Design Patterns

SOLID

SOLID is five design principles intended to make software designs more understandable, flexible and maintainable.

Single responsibility principle

A class should only have a single responsibility, that is, only changes to one part of the software’s specification should be able to affect the specification of the class.

Open–closed principle

Software entities … should be open for extension, but closed for modification.

Liskov substitution principle

Objects in a program should be replaceable with instances of their subtypes without altering the correctness of that program.

Interface segregation principle

Many client-specific interfaces are better than one general-purpose interface.

Dependency inversion principle

One should depend upon abstractions, [not] concretions.

Repository Pattern

The idea with this pattern is to have a generic abstract way for the app to work with the data layer without being bothered what storage technology is used when saving/retrieving the data.

We suggests to check first this for in-depth understand about this design pattern.

When reading/writing data, it is RECOMMENDED to wrap it into Repository Object

tutorial