News Feed
Sections




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

DZone.com:
SOLID for packag...err, namespaces
March 02, 2011 @ 10:54:33

On DZone.com there's a recent article from Giorgio Sironi about the SOLID set of principles for software development (more on those here) and how some related principles can be applied to namespaced code in PHP.

While studying for the advanced software engineering exam at PoliMi, I discovered there is also a set of principles akin to SOLID for the design of packages, and not only of classes and interfaces. Uncle Bob published them after the SOLID series. Note that package here can be intended as a zip or any deliverable binary unit, not necessarily as a PHP namespace or Java package, or a source folder. [...] In fact, I think that PHP namespaces will play the role of packages soon, as they provide a mechanism for encapsulation: use statements are not necessary when you refer to entities in the same namespace, just like java imports.

These three additional principles (CCA) are:

  • CRP: Common Reuse Princple
  • CCP: Common Closure Principle
  • ADP: Acyclic Dependencies Principle

Check out the rest of the article for their full descriptions.

0 comments voice your opinion now!
solid software development package namespace principles


blog comments powered by Disqus

Similar Posts

Job Posting: Jacob Group (Recruiter) Seeks Director of Software Development (Lacrosse, WI)

ThinkPHP Blog: How do you start Scrum for your PHP projects?

Community News: rPath Linux Updates PHP5 Packages

Lukas Smith's Blog: Who is using namespaces in PHP already?

Ben Ramsey: Contributing to PHP Core


Community Events





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


library interview release laravel symfony package series introduction bugfix voicesoftheelephpant opinion framework install list language deployment tips community api podcast

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