News Feed
Sections




News Archive
Looking for more information on how to do PHP the right way? Check out PHP: The Right Way

NetTuts.com:
SOLID Part 3 - Liskov Substitution & Interface Segregation Principles
January 27, 2014 @ 11:51:30

On NetTuts.com today they've continued their series covering the SOLID development principles with the next letter in the acronym - "L". It stands for the Liskov Substitution & Interface Segregation Principles. The tutorial also talks some about the "Interface Segregation Principle" as they go hand-in-hand.

The concept of this principle was introduced by Barbara Liskov in a 1987 conference keynote and later published in a paper together with Jannette Wing in 1994. Their original definition is as follows: "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." [or more simply] "Subtypes must be substitutable for their base types."

They include some example PHP code showing a base "Vehicle" class and first an example of doing it correctly (with the Template design pattern) and an example of an incorrect method, complete with tests. They then get into the Interface Segregation Principle, an interface that can be depended on to use the module, with the same car-related examples.

0 comments voice your opinion now!
solid design principles liskov substitution interface segregation

Link: http://net.tutsplus.com/tutorials/php/solid-part-3-liskov-substitution-interface-segregation-principles/

blog comments powered by Disqus

Similar Posts

Robert Peake\'s Blog: Design Patterns, Ajax, and Application Supremacy

Jim Plush's Blog: Followup on rethinking Zend Models with DDD - Framework code included

PHP-Tools Blog: PHP Design Patterns Finished

Walter Poupore's Blog: Microsoft adCenter and PHP

Andreas Gohr's Blog: MySimple.php - A lightweight PHPMyAdmin substitute


Community Events





Don't see your event here?
Let us know!


community opinion podcast series unittest symfony2 interview configure list introduction laravel refactor framework threedevsandamaybe install testing language release code developer

All content copyright, 2014 PHPDeveloper.org :: info@phpdeveloper.org - Powered by the Solar PHP Framework