tengo la clase siguiente: "? Clase Dios"¿Qué es un mejor diseño?
class User {
public function setName($value) { ... }
public function setEmailAddress($value) { ... }
public function setUsername($value) { ... }
public function getName() { ... }
public function getEmailAddress() { ... }
public function getUsername() { ... }
public function isGroupAdministrator($groupId) { ... }
public function isMemberOfGroup($groupId) { ... }
public function isSiteAdministrator() { ... }
public function isRoot() { ... }
public function hasModulePermission($moduleId, $recordId, $permissionCode) { ... }
public function hasGroupPermission($groupId, $permissionCode) { ... }
public function hasContentPermission($recordId, $permissionCode) { ... }
public function hasModulePermission($moduleId, $recordId, $permissionCode) { ... }
public function canLogIn() { ... }
public function isLoggedIn() { ... }
public function setCanLogIn($canLogIn) { ... }
}
Es esto convertirse en una
No estoy seguro de si debería dividir esta clase. El problema al hacerlo es que los métodos de esta clase son utilizados por su dominio para determinar si mostrar determinados elementos de la IU en las páginas web, por lo que no hay ningún comportamiento en la clase.
Supongo que podría poner los métodos relacionados con permisos en alguna clase de permiso, haciendo que esos métodos sean estáticos (por ej. :: userIsGroupAdministrator (...), :: userIsMemberOfGroup (...) :: userHasGroupPermission (...), :: userHasContentPermission (...))
¿Alguna sugerencia sobre cómo esta clase podría ser mejor?
I Sugiere etiquetar como 'php' o 'language-agnostic' para mejorar la visibilidad. –