The Modern Developer

  • Home
  • Principles
  • Standards
  • Patterns
  • Processes
  • Tools
  • Wisdom Pearls
  • Manifesto
  • Register
  • Log in

S.O.L.I.D. Series

SOLID Slider
Print Friendly, PDF & Email

A Developer’s Principle Design Series

The Modern Developer’s daily development practices include the Core and Code Principles of good Object Oriented Programming.

The Principle Design Series will concentrate on the
Seven Core design principles:

  1. SRP – The Single Responsibility Principle

  2. OCP – The Open / Closed Principle

  3. LSP – The Liskov Substitution Principle

  4. ISP – The Interface Segregation Principle

  5. DIP – The Dependency Inversion Principle

  6. DRY – The Don’t Repeat Yourself Principle

  7. IOCP – The Inversion of Control Principles

Each of the Principle Design Series Posts

… Will Concentrate on One Principles


The post will cover the selected core principle in the following format:

  1. A clear definition of the principle

  2. The justification for the implementation of the principle

  3. A real-world description of a violation

  4. Key code smells that identify the violation

  5. A violation code example

  6. The code example that refactors the design principle violation


These concepts will be presented in the following Developer’s Principle Design Series posts:

  1. The Single Responsibility Principle – Just because you can doesn’t mean you should

  2. The Don’t Repeat Yourself Principle – Repetition is the root of all software evil

  3. The Open / Closed Principle – Brain surgery is not required when putting on a hat

  4. The Liskov Substitution Principle – If it looks like a Duck, quacks like a Duck, but needs batteries – You probably need a better abstraction

  5. The Interface Segregation Principle – Tailor your Interfaces to the Client’s specific requirements

  6. The Dependency Inversion Principle – Would you solder a lamp directly into the electrical wiring in a wall?

  7. The Inversion of Control Principle – Manage all your toys in one place


The Modern Developer’s Wisdom Pearl # 107:
Technical Insanity

Applying the Same Failing Process Over and Over

… Expecting a Different Result


The following two tabs change content below.
  • Bio
  • Latest Posts
Brad Huett
My Twitter profile

Brad Huett

I am a Principal Architect at Liquid Hub in the Philadelphia area specializing in Agile Practices as a Certified Scrum Master (CSM). I use Test Driven Development (TDD) and Acceptance Test Driven Development (ATDD) with Behavior Driven Development (BDD) as my bridge to Agile User Stories Acceptance Criteria in a Domain Driven Design (DDD) implementing true RESTful services
Brad Huett
My Twitter profile

Latest posts by Brad Huett (see all)

  • DevOps: A Bridge to Your DevOps Culture - March 25, 2016
  • Embracing Test Driven Development (TDD) - March 25, 2016
  • DevOps: Delivering Agile Projects - March 25, 2016

If you think this post was worth your time: Like It Please

Previous post
Next Post

What’s HOT on TMD

Technology Development

Understand Change Dynamics within Your Clients Environment

Software Architecture … And Nature’s Forces

Get an In-depth Understanding of the TMD Agile Processes

The Three Laws of Software Project Motion

The Three Laws of Software Motion

The UX Client Series – PhoneGap Mobile Apps

Check out the New Semantic Design Series

Code Essentials – A Developer’s Boot Camp

Use the DevForce: The S.O.L.I.D. Design Principles Series

Professional Development

What is the Modern Developer?

Are You a Technical Dinosaur?

What Kind of Developer are You?

Is Failure a Good Thing or a Bad Thing: Or Both?

The Anatomy of a Job Well Done

Technology Arenas

TMD Knowledge Vault Search

Archives

Recent Comments

  • devops online training on Code Essentials – A Developer’s Boot Camp
  • Brad Huett on Back to Basics … Three or Four OOP Pillars?
  • Lagmart on Back to Basics … Three or Four OOP Pillars?
  • luis.lozada@live.com on Semantic Design Series: Core Technologies
  • Tino on Semantic Design Series: Core Technologies

Holistic Transformation: LiquidHub

  • Fueling Business Digital Transformation

Videos with Personality Training

  • Robert Martin's CleanCoders

Creative Content Online Training

  • Pluralsight's Digital Tutors Training Library

Hard Core Development Training

  • Pluralsight: The Career Survival Tool

Modern Developer Twitter

My Tweets

Navigation

  • Home
  • Principles
  • Standards
  • Patterns
  • Processes
  • Tools
  • Wisdom Pearls
  • Manifesto

Archives

  • March 2016
  • August 2015
  • July 2015
  • February 2015
  • August 2014
  • July 2014
  • June 2014
  • April 2014
  • March 2014
  • February 2014
  • January 2014
  • December 2013
  • November 2013
  • October 2013
  • September 2013
  • August 2013
  • July 2013
  • June 2013
  • May 2013

Posts this Month

May 2025
M T W T F S S
« Mar    
 1234
567891011
12131415161718
19202122232425
262728293031