Alexander Ivanov 4904d7eea0 #1021: Fix checkstyle warnings by changing the license header template (#1027)
* Add custom license header style in order to comply with Google's Checkstyle format

* Update license headers to comply with Google's Checkstyle format
2019-10-22 08:15:35 +03:00
..


layout: pattern
title: Subclass Sandbox folder: subclass-sandbox
permalink: /patterns/subclass-sandbox/
categories: Other
tags:

  • Java
  • Difficulty-Beginner

Intent

The subclass sandbox pattern describes a basic idea, while not having a lot of detailed mechanics. You will need the pattern when you have several similar subclasses. If you have to make a tiny change, then change the base class, while all subclasses shouldn't have to be touched. So the base class has to be able to provide all of the operations a derived class needs to perform.

Applicability

The Subclass Sandbox pattern is a very simple, common pattern lurking in lots of codebases, even outside of games. If you have a non-virtual protected method laying around, youre probably already using something like this. Subclass Sandbox is a good fit when:

  • You have a base class with a number of derived classes.

  • The base class is able to provide all of the operations that a derived class may need to perform.

  • There is behavioral overlap in the subclasses and you want to make it easier to share code between them.

  • You want to minimize coupling between those derived classes and the rest of the program.

Credits