+ All Categories
Home > Software > Laravel 5 and SOLID

Laravel 5 and SOLID

Date post: 15-Jul-2015
Category:
Upload: talevski-igor
View: 948 times
Download: 6 times
Share this document with a friend
Popular Tags:
37
Five agile principles that should guide you every time you write code by Talevski Igor
Transcript

Five agile principles that should guide you every time you write code

by Talevski Igor

Talevski Igor

L 5 : N E W T H I N G S - Q U I C K R E V I E W

STRU

CTU

RE

Default namespace: Appapp/models=> nullapp/start => nullNEW => app/Providers

Controllers => app/HttpMiddleware => app/HttpRequests => app/Http

Route filters=> middleware

language files => resources directoryviews => resources directory

L 5 : N E W T H I N G S - Q U I C K R E V I E W

Contracts: illuminate/contractsController Method InjectionEvent ObjectsCommands / Queueing

Route Middleware (Filters)

Form Requests / Controller Request Validation

Route CacheDatabase QueueLaravel Scheduler

Elixir

SocialiteFilesystem abstraction: Flysystem

DotEnvAuthentication ScaffoldingConfiguration CacheNew Generators

TinkerSymfony VarDumper

L 5 : N E W T H I N G S - Q U I C K R E V I E W

NO

MO

RE…

S O L I DSINGLE RESPONSIBILITY PRINCIPLE

OPEN/CLOSED PRINCIPLE

LISKOV SUBSTITUTION PRINCIPLE

INTERFACE SEGREGATION PRINCIPLE

DEPENDENCY INVERSION PRINCIPLE

SINGLE RESPONSIBILITY PRINCIPLE

A class should have only one reason to

change.

SIN

GLE R

ESPO

NSIB

ILIT

Y P

RIN

CIP

LE

SIN

GLE R

ESPO

NSIB

ILIT

Y P

RIN

CIP

LE

SIN

GLE R

ESPO

NSIB

ILIT

Y P

RIN

CIP

LE

SIN

GLE R

ESPO

NSIB

ILIT

Y P

RIN

CIP

LE

SIN

GLE R

ESPO

NSIB

ILIT

Y P

RIN

CIP

LE

SIN

GLE R

ESPO

NSIB

ILIT

Y P

RIN

CIP

LE

SIN

GLE R

ESPO

NSIB

ILIT

Y P

RIN

CIP

LE

SIN

GLE R

ESPO

NSIB

ILIT

Y P

RIN

CIP

LE

SIN

GLE R

ESPO

NSIB

ILIT

Y P

RIN

CIP

LE

S O L I DSINGLE RESPONSIBILITY PRINCIPLE

OPEN/CLOSED PRINCIPLE

LISKOV SUBSTITUTION PRINCIPLE

INTERFACE SEGREGATION PRINCIPLE

DEPENDENCY INVERSION PRINCIPLE

Software entities (classes, modules, functions,

etc.) should be open for extension,

but closed for modification.

OPEN/CLOSED PRINCIPLE

Separate extensible behavior behind an interface, and flip the dependencies

OPEN

/C

LO

SED

PRIN

CIP

LE

S O L I DSINGLE RESPONSIBILITY PRINCIPLE

OPEN/CLOSED PRINCIPLE

LISKOV SUBSTITUTION PRINCIPLE

INTERFACE SEGREGATION PRINCIPLE

DEPENDENCY INVERSION PRINCIPLE

Let q(x) be a property provable about objects x of type T.

Then q(y) should be provable for objects y of type S

where S is a subtype of T.

LISKOV SUBSTITUTION PRINCIPLE

LIS

KO

VSU

BSTIT

UTIO

N P

RIN

CIP

LE

LIS

KO

VSU

BST

ITU

TIO

N P

RIN

CIP

LE

LIS

KO

VSU

BST

ITU

TIO

N P

RIN

CIP

LE

S O L I DSINGLE RESPONSIBILITY PRINCIPLE

OPEN/CLOSED PRINCIPLE

LISKOV SUBSTITUTION PRINCIPLE

INTERFACE SEGREGATION PRINCIPLE

DEPENDENCY INVERSION PRINCIPLE

A client should never be forced to

implement an interface that it

doesn’t use

INTERFACE SEGREGATION PRINCIPLE

INTERFA

CE S

EG

REG

ATIO

N P

RIN

CIP

LE

INTERFA

CE S

EG

REG

ATIO

N P

RIN

CIP

LE

INTERFA

CE S

EG

REG

ATIO

N P

RIN

CIP

LE

S O L I DSINGLE RESPONSIBILITY PRINCIPLE

OPEN/CLOSED PRINCIPLE

LISKOV SUBSTITUTION PRINCIPLE

INTERFACE SEGREGATION PRINCIPLE

DEPENDENCY INVERSION PRINCIPLE

A. High-level modules should not depend on low-level modules. Both should depend

on abstractions.

B. Abstractions should not depend upon details. Details should depend upon

abstractions.

DEPEN

DEN

CY IN

VERSIO

N P

RIN

CIP

LE

Dependency inversion principle

DEPEN

DEN

CY IN

VERSIO

N P

RIN

CIP

LE

DEPEN

DEN

CY IN

VERSIO

N P

RIN

CIP

LE

S O L I DSINGLE RESPONSIBILITY PRINCIPLE

OPEN/CLOSED PRINCIPLE

LISKOV SUBSTITUTION PRINCIPLE

INTERFACE SEGREGATION PRINCIPLE

DEPENDENCY INVERSION PRINCIPLE


Recommended