Take the 2-minute tour ×

How do you call it when your buddy designs a class Dinosaur, that represents at the same time prehistoric dinosaurs (animals), contemporary robotic dinosaurs (toys) and US laws regarding keeping such animals and/or robots, and you come and break it down into classes DinosaurProper, DinosaurRobot, ExoticPetKeepingInUS and RobotOwnershipInUS? What is the smartass catchphrase or catchword for this?

share|improve this question

2 Answers 2

up vote 4 down vote accepted

Refactoring aimed at satisfying the Single Responsibility Principle (SRP).

share|improve this answer
Pretty please, any more cool words? Any way to say it in one, or 2 words? Something cool, like "Law of Demeter"? (Actually, SRP is quite good, I'm just begging because I'm stuck writing a publication here.) –  Boris Stitnicky Sep 18 '12 at 10:31

Depdning on the exact structure of the initial design it may be sometimes called ReplaceTypeCodeWithSubclasses or ExtractSubclass

share|improve this answer
In this case, it's not even a subclases, mixing dinosaurs with robot dinosaurs is a case of mixing false friends in one class, and mine is the act of exposing and correcting it. –  Boris Stitnicky Sep 18 '12 at 11:03

Your Answer


