Software Design Principles
4/5
()
Currently unavailable
Currently unavailable
About this ebook
This book is a compilation of software design principles. Knowing these principles and applying them will allow you to develop a better quality software.
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.
Ludwin Barbin
•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
Related to Software Design Principles
Related ebooks
10x Software Engineer Rating: 0 out of 5 stars0 ratingsDiary of a Software Craftsman Rating: 5 out of 5 stars5/5DevOps Handbook: What is DevOps, Why You Need it and How to Transform Your Business with DevOps Practices Rating: 4 out of 5 stars4/5The Design Patterns Companion Rating: 0 out of 5 stars0 ratingsSoftware Engineering & Object Oriented Modeling Rating: 0 out of 5 stars0 ratingsDevOps and Site Reliability Engineering Handbook: Non-Programmer’s Guide Rating: 4 out of 5 stars4/5Agile Testing: An Overview Rating: 4 out of 5 stars4/5Software Engineering: Architecture-driven Software Development Rating: 4 out of 5 stars4/5RESTful API Design - Best Practices in API Design with REST: API-University Series, #3 Rating: 5 out of 5 stars5/5Art of Clean Code: How to Write Codes for Human Rating: 3 out of 5 stars3/5Software Design Methodology: From Principles to Architectural Styles Rating: 5 out of 5 stars5/5Refactoring for Software Design Smells: Managing Technical Debt Rating: 4 out of 5 stars4/5Integration Architecture Rating: 5 out of 5 stars5/5Programming Problems: A Primer for The Technical Interview Rating: 4 out of 5 stars4/5Incremental Software Architecture: A Method for Saving Failing IT Implementations Rating: 5 out of 5 stars5/5Microservices Architecture Handbook: Non-Programmer's Guide for Building Microservices Rating: 5 out of 5 stars5/5Software Patterns Made Easy Rating: 0 out of 5 stars0 ratingsProgramming Problems: Advanced Algorithms Rating: 4 out of 5 stars4/5Fundamentals of Software Engineering: Designed to provide an insight into the software engineering concepts Rating: 0 out of 5 stars0 ratingsThinking Beyond Coding Rating: 5 out of 5 stars5/5Software Developer Rating: 0 out of 5 stars0 ratingsCracking the IT Architect Interview Rating: 5 out of 5 stars5/5The Easiest Way to Learn Design Patterns Rating: 0 out of 5 stars0 ratingsCase Studies in Design Patterns Rating: 5 out of 5 stars5/5Mastering Non-Functional Requirements Rating: 5 out of 5 stars5/5Domain Driven Design : How to Easily Implement Domain Driven Design - A Quick & Simple Guide Rating: 2 out of 5 stars2/5Software Architecture with Python Rating: 0 out of 5 stars0 ratingsObject-Oriented Design with UML and Java Rating: 4 out of 5 stars4/5
Software Development & Engineering For You
Grokking Algorithms: An illustrated guide for programmers and other curious people Rating: 4 out of 5 stars4/5How to Write Effective Emails at Work Rating: 4 out of 5 stars4/5Python For Dummies Rating: 4 out of 5 stars4/5Adobe Illustrator CC For Dummies Rating: 5 out of 5 stars5/5Agile Practice Guide Rating: 4 out of 5 stars4/5Modern C++ for Absolute Beginners: A Friendly Introduction to C++ Programming Language and C++11 to C++20 Standards Rating: 0 out of 5 stars0 ratingsHow Do I Do That in Photoshop?: The Quickest Ways to Do the Things You Want to Do, Right Now! Rating: 4 out of 5 stars4/5Level Up! The Guide to Great Video Game Design Rating: 4 out of 5 stars4/5Hand Lettering on the iPad with Procreate: Ideas and Lessons for Modern and Vintage Lettering Rating: 4 out of 5 stars4/5Thinking Beyond Coding Rating: 5 out of 5 stars5/5Data Visualization: a successful design process Rating: 4 out of 5 stars4/5Learn to Code. Get a Job. The Ultimate Guide to Learning and Getting Hired as a Developer. Rating: 5 out of 5 stars5/5PYTHON: Practical Python Programming For Beginners & Experts With Hands-on Project Rating: 5 out of 5 stars5/5How Do I Do That In InDesign? Rating: 5 out of 5 stars5/5Good Code, Bad Code: Think like a software engineer Rating: 5 out of 5 stars5/5Learning Python Rating: 5 out of 5 stars5/5Beginning Programming For Dummies Rating: 4 out of 5 stars4/5Tiny Python Projects: Learn coding and testing with puzzles and games Rating: 5 out of 5 stars5/5Photoshop For Beginners: Learn Adobe Photoshop cs5 Basics With Tutorials Rating: 0 out of 5 stars0 ratingsLua Game Development Cookbook Rating: 0 out of 5 stars0 ratingsBeginning C++ Game Programming - Second Edition: Learn to program with C++ by building fun games, 2nd Edition Rating: 0 out of 5 stars0 ratingsAgile: What You Need to Know About Agile Project Management, the Kanban Process, Lean Thinking, and Scrum Rating: 5 out of 5 stars5/5Coding All-in-One For Dummies Rating: 0 out of 5 stars0 ratingsReversing: Secrets of Reverse Engineering Rating: 4 out of 5 stars4/5The Essential Persona Lifecycle: Your Guide to Building and Using Personas Rating: 4 out of 5 stars4/5Engineering Management for the Rest of Us Rating: 5 out of 5 stars5/5
Reviews for Software Design Principles
10 ratings1 review
- Rating: 3 out of 5 stars3/5Nice book, but the figure is small it's hard to read the content.