Um ponto fundamental de Genexus é o nome escolhido para designar um atributo.
Eramos livres, e de certa forma irresponsáveis, quanto a essa questão e gostavamos de designar nomes bonitos e práticos como CódigoDoCliente, EndereçoDoFornecedor,... E muitas vezes para controlar os registros colocávamos flags, do tipo, RegistroApagado, DataCriação, em todas as nossas tabelas. Coisa chique, e ainda dava um ar de programa bem feito, bem documentado, bem construido, organizado às nossas aplicações.
Com Genexus começamos a tratar os atributos de forma mais responsável, pois este elemento ganha uma responsabilidade maior, pois através do nome do atributo Genexus nos diz se o "conceito" é o mesmo ou não.
Por exemplo, ClienteId é um conceito que representa o código do cliente em toda a aplicação. Cliente é para nós um agrupamento de conceitos (informações, regras, ...), ou um objeto. Em Genexus buscamos organizar os conceitos no objeto colocando o nome do objeto seguido do conceito, assim obtém-se uma referência lógica ou organização.
A regra nos diz que:
* Conceitos Iguais = Nomes Iguais
* Nomes Diferentes = Conceitos Diferentes
Um conceito somente poderá aparecer em uma tabela no sistema todo, a menos que seja um campo chave. Por exemplo: ClienteNome (NomeDoCliente) somente aparecerá em uma tabela no sistema, enquanto que ClienteId (CódigoDoCliente), que é campo chave poderá aparecer em várias tabelas, e quando isso ocorrer haverá relação entre esta tabela com a tabela de Clientes.
Assim começa a mágica da 3a. Forma Normal em ação...
Nenhum comentário:
Postar um comentário