é senso comum converter os dados do banco de dados em objeto primeiro?

5

No framework que estou usando, vou agrupar as coisas em models, controller e views (adicionei serviços).

Quando as coisas saem do banco de dados, são dados puros em forma de matriz. Então eles não terão métodos com eles.

Como o título perguntou, é senso comum converter os dados do banco de dados em objeto primeiro? Ou seja, posso ter cinco camadas no meu projeto, modelo, serviço, objeto, controlador, visualização.

E estou muito confuso sobre como classificar essas camadas ou como especificar seus trabalhos. E também me preocupa que, se houver algum problema multi-thread, problemas de IO e tal.

Eu tenho muitas perguntas e isso é apenas uma delas.

Eu costumava usar o JavaSE para criar alguns programas e jogos de bot de jogo. OOP parece muito bom e eu adoro muito. Eu armazeno tudo como objeto na RAM ou às vezes serializado no arquivo txt.

Mas agora estou fazendo um site de criação de empregos PHP. Quando eu conheci MVC e banco de dados, as coisas mudaram que eu criei muito menos objeto e lidar com mais matrizes. Às vezes eu preciso fazer algo com os dados como isValid() , eu tenho que criar uma função em algum lugar - onde não tenho certeza de colocar - e aceita um parâmetro como isValid($obj) .

    
por bijiDango 21.12.2016 / 04:22
fonte

1 resposta

6

Honestamente, eu adicionaria um mapeador de linhas ou um ORM ao projeto.

Mesmo para desenvolvedores, ler dados em tal formato ( arrays ) é tedioso e complicado. Depois de algumas horas, a legibilidade torna-se turva e enigmática. É cansativo.

Como desenvolvedores, ( desculpe-me com antecedência se você não concordar ) é mais fácil pensarmos em estruturas de dados como objetos, atributos e propriedades.

Conforme você trabalha, descobrirá que é mais fácil implementar padrões ou metodologias de design usando objetos em vez de arrays. Pense nessas palavras maravilhosas: composição, herança, agregação, ...

Do ponto de vista do código, trabalhar com matrizes torna o código mais difícil de manter. A ordem dos campos na matriz é imposta pela instrução SQL. Isso significa que, se você adicionar, remover ou alterar a instrução select , precisará rever como o código acessa a matriz (em todo o projeto).

Trabalhando com arrays, você também perde muitos dos atendimentos, sugestões e ajuda do IDE.

Uma ideia abaixo da OOP é modelar coisas como na palavra real usando palavras do mundo real também. A menos que você viva em Matrix, pensar em termos de matrizes e índices não é natural e, na maioria dos casos, é desnecessário.

Mas esse é o meu sentido.

No entanto, tenho que concordar com @whatisaname

There's not such thing as common sense

Então, faça o que facilitar seu trabalho

    
por 21.12.2016 / 20:14
fonte