Duvida com modelagem de dados para um sistema feito em grails

3 respostas
MarcioProgramador

ola para todos! gostaria de uma ajuda com relação a modelagem de dados de um sistema que estou fazendo em grails. Vou explicar a regra de negocio do sistema. O sistema deve primeiramente cadastrar um usuario com login e senha, e logo neste cadastro, este usuario deve ser vinculado a uma empresa que vai ter seus dados posteriormente cadastrados por um administrador. Na prática, o administrador cadastra as informações basicas da empresa e cria o usuario vinculado a empresa.

pensei numa abordagem mais ou menos assim em termos de codigo

public class Pessoa { // pessoa tem uma associação com enderecos. Ou seja, uma pessoa (usuario) pode ter no minino 1 ou varios endereços }

public class Usuario extends Pessoa { // aqui dentro ficariam somente os dados do usuario com relação ao login do mesmo }

public class Empresa { 
// nao sei se devo extender, tornando Empresa extends Usuario aonde empresa seria automaticamente um novo usuario
// ou somente declarar uma associação com Usuario
// Usuario usuario
}

acredito que a associação seja a ideia mais correta, pois assim o administrador poderá criar o usuario e ao criar a empresa, ele já setar a empresa ao qual ele pertence. Nao sei se estou correto no meu pensamento e estou aberto a ideias.

Obrigado a todos desde já :slight_smile:

3 Respostas

rmendes08

Ao invés de fazer Usuario estender Pessoa eu usaria composição para associar estas classes. Talvez seja até interessante você criar uma classe PessoaUsuario apenas para representar a associação. Eu faria assim porque eu vejo o cadastro de pessoas e o controle de segurança da aplicação como conceitos separados dentro do domínio. Por exemplo, você pode atribuir um usuário a um sistema externo, ou então cadastrar uma pessoa que não possui usuário.

Luiz_Augusto_Prado

MarcioProgramador:
ola para todos! gostaria de uma ajuda com relação a modelagem de dados de um sistema que estou fazendo em grails. Vou explicar a regra de negocio do sistema. O sistema deve primeiramente cadastrar um usuario com login e senha, e logo neste cadastro, este usuario deve ser vinculado a uma empresa que vai ter seus dados posteriormente cadastrados por um administrador. Na prática, o administrador cadastra as informações basicas da empresa e cria o usuario vinculado a empresa.

pensei numa abordagem mais ou menos assim em termos de codigo

public class Pessoa { // pessoa tem uma associação com enderecos. Ou seja, uma pessoa (usuario) pode ter no minino 1 ou varios endereços }

public class Usuario extends Pessoa { // aqui dentro ficariam somente os dados do usuario com relação ao login do mesmo }

public class Empresa { 
// nao sei se devo extender, tornando Empresa extends Usuario aonde empresa seria automaticamente um novo usuario
// ou somente declarar uma associação com Usuario
// Usuario usuario
}

acredito que a associação seja a ideia mais correta, pois assim o administrador poderá criar o usuario e ao criar a empresa, ele já setar a empresa ao qual ele pertence. Nao sei se estou correto no meu pensamento e estou aberto a ideias.

Obrigado a todos desde já :slight_smile:


http://terramel.org/java-quarta-aula-heranca/

MarcioProgramador

no caso então , sendo mais simples.:

se eu tiver isso:

public class Empresa { Usuario usuario }

já defini uma associação correto, sem a necessidade de declarar uma classe a mais (EmpresaUsuario), correto?

Criado 18 de junho de 2012
Ultima resposta 18 de jun. de 2012
Respostas 3
Participantes 3