Une classe, une fonction ou une méthode doit avoir une et une seule responsabilité.
A class should have only a single responsibility (i.e only one potential change in the software's specification should be able to affect the specification of the class.
class Document {