Which Framework? · Co-Founder, The PHP Consulting Company. Disclaimer This talk will not tell you...

31
Which Framework? Stefan Priebsch | June 2 nd 2014

Transcript of Which Framework? · Co-Founder, The PHP Consulting Company. Disclaimer This talk will not tell you...

Page 1: Which Framework? · Co-Founder, The PHP Consulting Company. Disclaimer This talk will not tell you which framework to use. It is about deciding whether to (re)-use existing code.

Which Framework?Stefan Priebsch | June 2nd 2014

Page 2: Which Framework? · Co-Founder, The PHP Consulting Company. Disclaimer This talk will not tell you which framework to use. It is about deciding whether to (re)-use existing code.

Stefan PriebschCo-Founder, The PHP Consulting Company

Page 3: Which Framework? · Co-Founder, The PHP Consulting Company. Disclaimer This talk will not tell you which framework to use. It is about deciding whether to (re)-use existing code.

DisclaimerThis talk will not tell you which framework to use.

It is about deciding whether to (re)-use existing code.

Page 4: Which Framework? · Co-Founder, The PHP Consulting Company. Disclaimer This talk will not tell you which framework to use. It is about deciding whether to (re)-use existing code.

What is a Framework?

Page 5: Which Framework? · Co-Founder, The PHP Consulting Company. Disclaimer This talk will not tell you which framework to use. It is about deciding whether to (re)-use existing code.

IoC ContainerInversion of Control Container

Page 6: Which Framework? · Co-Founder, The PHP Consulting Company. Disclaimer This talk will not tell you which framework to use. It is about deciding whether to (re)-use existing code.

A design in which custom-written portions of a computer program receive the

flow of control from a generic, reusable library

[...]

With inversion of control, it is the reusable code that calls into the custom, or

problem-specific, code.

https://en.wikipedia.org/wiki/Inversion_of_control

Page 7: Which Framework? · Co-Founder, The PHP Consulting Company. Disclaimer This talk will not tell you which framework to use. It is about deciding whether to (re)-use existing code.

FROLIC

Page 8: Which Framework? · Co-Founder, The PHP Consulting Company. Disclaimer This talk will not tell you which framework to use. It is about deciding whether to (re)-use existing code.

FROLICFramework, Reuse, Library, IoC Container, Component

Page 9: Which Framework? · Co-Founder, The PHP Consulting Company. Disclaimer This talk will not tell you which framework to use. It is about deciding whether to (re)-use existing code.

A foolish man who built his house on the sand. And the rain fell, and the floods

came, and the winds blew and beat against that house, and it fell, and great

was the fall of it.

Matthew 7:25

Page 10: Which Framework? · Co-Founder, The PHP Consulting Company. Disclaimer This talk will not tell you which framework to use. It is about deciding whether to (re)-use existing code.

In software engineering, coupling or dependency is the degree to which each

program module relies on each one of the other modules.

https://en.wikipedia.org/wiki/Dependency_%28computer_science%29“

Page 11: Which Framework? · Co-Founder, The PHP Consulting Company. Disclaimer This talk will not tell you which framework to use. It is about deciding whether to (re)-use existing code.
Page 12: Which Framework? · Co-Founder, The PHP Consulting Company. Disclaimer This talk will not tell you which framework to use. It is about deciding whether to (re)-use existing code.
Page 13: Which Framework? · Co-Founder, The PHP Consulting Company. Disclaimer This talk will not tell you which framework to use. It is about deciding whether to (re)-use existing code.

All dependencies are yoursChoose wisely!

Page 14: Which Framework? · Co-Founder, The PHP Consulting Company. Disclaimer This talk will not tell you which framework to use. It is about deciding whether to (re)-use existing code.
Page 15: Which Framework? · Co-Founder, The PHP Consulting Company. Disclaimer This talk will not tell you which framework to use. It is about deciding whether to (re)-use existing code.

SOLID?

Page 16: Which Framework? · Co-Founder, The PHP Consulting Company. Disclaimer This talk will not tell you which framework to use. It is about deciding whether to (re)-use existing code.

SOLID• Single Responsibility Principle• Open/Closed Principle• Liskov Substitution Principle• Interface Segregation Principle• Dependency Inversion Principle

Page 17: Which Framework? · Co-Founder, The PHP Consulting Company. Disclaimer This talk will not tell you which framework to use. It is about deciding whether to (re)-use existing code.

SOLIDD - Dependency Inversion

Page 18: Which Framework? · Co-Founder, The PHP Consulting Company. Disclaimer This talk will not tell you which framework to use. It is about deciding whether to (re)-use existing code.

The principle inverts the way some people may think about object-oriented

design, dictating that both high- and low-level objects must depend on the

same abstraction.

https://en.wikipedia.org/wiki/Dependency_inversion

Page 19: Which Framework? · Co-Founder, The PHP Consulting Company. Disclaimer This talk will not tell you which framework to use. It is about deciding whether to (re)-use existing code.

All code is yoursChoose wisely!

Page 20: Which Framework? · Co-Founder, The PHP Consulting Company. Disclaimer This talk will not tell you which framework to use. It is about deciding whether to (re)-use existing code.
Page 21: Which Framework? · Co-Founder, The PHP Consulting Company. Disclaimer This talk will not tell you which framework to use. It is about deciding whether to (re)-use existing code.
Page 22: Which Framework? · Co-Founder, The PHP Consulting Company. Disclaimer This talk will not tell you which framework to use. It is about deciding whether to (re)-use existing code.
Page 23: Which Framework? · Co-Founder, The PHP Consulting Company. Disclaimer This talk will not tell you which framework to use. It is about deciding whether to (re)-use existing code.
Page 24: Which Framework? · Co-Founder, The PHP Consulting Company. Disclaimer This talk will not tell you which framework to use. It is about deciding whether to (re)-use existing code.

Testing

Page 25: Which Framework? · Co-Founder, The PHP Consulting Company. Disclaimer This talk will not tell you which framework to use. It is about deciding whether to (re)-use existing code.

TestingFind the smallest possible scope to test each feature.

Page 26: Which Framework? · Co-Founder, The PHP Consulting Company. Disclaimer This talk will not tell you which framework to use. It is about deciding whether to (re)-use existing code.
Page 27: Which Framework? · Co-Founder, The PHP Consulting Company. Disclaimer This talk will not tell you which framework to use. It is about deciding whether to (re)-use existing code.

Most important question to ask:

Page 28: Which Framework? · Co-Founder, The PHP Consulting Company. Disclaimer This talk will not tell you which framework to use. It is about deciding whether to (re)-use existing code.

Does it solve my problem?

Page 29: Which Framework? · Co-Founder, The PHP Consulting Company. Disclaimer This talk will not tell you which framework to use. It is about deciding whether to (re)-use existing code.

Does it solve my problem?What is my problem in the first place?

Page 31: Which Framework? · Co-Founder, The PHP Consulting Company. Disclaimer This talk will not tell you which framework to use. It is about deciding whether to (re)-use existing code.

sharing experience