Olá, este é meu primeiro POST, mas já há algum tempo acompanho o fórum.
Venho do PHP e comecei programando de maneira procedural, com o tempo fui entendendo as vantagens de se programar orientado a objeto e em PHP mesmo comecei a estruturar minhas aplicações para trabalharem OO.
Há uns 3 meses comprei alguns livros e já estou fazendo algumas coisas, pois pretendo fazer um curso (Caelum) mas quero chegar já conhecendo alguma coisa, creio q já estou num estágio bom sobre java, já faça algumas coisas.
Minha dúvida:
Entendi que se tem que se trabalhar em camadas (apresentação, controle (negógios?) e persistência) e quando vou trabalhar num projeto, sempre tenho dúvidas onde colocar as seguintes regras:
DB com tabela pessoa, com campos id, nome, email, sei que precisarei ter uma classe que irá fazer a comunicação entre DB e camada de negócios, algumas regras (opcionalmente) o banco irá controlar, ex. nome não pode ser vazio, id não pode repetir (pk) e por ai vai, mas preciso ter a seguinte regras:
o nome tem q ter no mínimo 5 posições, o model (<- esse é o nome correto?) classe Pessoa tem apenas as propriedades (id, nome, email) e setters e getters, através da classse PessoaDAO trabalho com banco, onde coloco está validação? no model, na DAO, tenho essa dúvida, imaginando que estas classes serão utilizadas em camadas de apresentação diferentes?