Think of the principles as the pillars of a building. They are the support structures that hold the building together and keep it from crumbling down. They serve as guiding posts for other elements, and provide balance and stability.
You will learn the fundamental principles such as Separation of Concern, Low Coupling and High Cohesion, Information Hiding. It also covers principles on higher-level (architectural) and low-level (design and programmatic).
Many of the design principles relate to object-oriented software paradigm. They have been abbreviated and coined for easy remembering, examples include IoC (Inversion of Control), DI (Dependency Injection), LoD (Law of Demeter), Hollywood Principle, Tell don’t Ask, Don’t talk to strangers, etc…
There are also popular groupings such as GRASP (General Responsibility Assignment Software Patterns) principles and SOLID (stands for each letter of the principles included) principles. A whole section of this book is dedicated for Agile development principles.
This is a short and concise book. It’s an easy read. I’m sure you can finish this book on a weekend. You can use it both as a tutorial and reference.
In a software development project, awareness of these principles promotes better communication among team members. Knowing and applying them – when, where, how to use – will result to a maintainable, easy to understand, easy to extend, and overall high quality software.
• 18 years of hands-on experience in software development
• Software Architect for LunareSoft IT Consulting Services
• Based in Vancouver, Canada
• Certified Java Programmer
• Certified Web Component Developer
• Certified Java Enterprise Architect
• BS Computer Science, MBA
Price: $3.99 USD