Clases:
- Creación de clases:
Si queremos guardar información, creamos una clase solo para esa funcionalidad. Estas clases se conocen como Modelos o entidades. Ejemplo Printer.
Si necesitamos realizar una funcionalidad, creamos una clase para esto. Se las conoce como Managers, o Services Classes. Ejemplo PrinterManager.
Estas clases suelen tener propiedades de configuración, estas nunca deben estar harcodeadas dentro. Siempre se tienen que pasar por parámetros en el constructor (Dependency Injection).
Además, nunca se debe crear dentro de una de estas clases, una clase de estas. Es decir dentro de una clase manager no se debe crear otra clase manager. Debemos pasarle esta clase que queremos crear por parametros. - Principio de única responsabilidad:
Una clase debe tener una única responsabilidad.
Herencia:
- Se debe evitar dar a una clase padre información sobre las clases hijas.