Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Rodolfo TI

Primeiro Projeto PHP Orientado a Objeto.

Recommended Posts

Olá amigos, pretendendo desenvolver um sistema simples, porém orientado a objetos, já li muita coisa sobre o assunto mas acredito que para realmente entender preciso de um pouco mais, que apenas ler, isto é exercitar:

 

A posposta do sistema é seguinte:

 

Um sistema que controle formações para funcionários da empresa Chapolin Orientado, essas formações teram as seguintes informações, data, comentário,instrutor gerente,setor, carga horária e localização.

 

Essas formações serão realizadas por funcionários para funcionários e para sabermos de qual funcionário estamos falando teremos algumas informações sobre ele como Nome, E-mail, Setor e se este é ou não instrutor, e caso seja de qual formação seria. Se participou ou não de uma formação.

 

Para essas informações deve haver um retorno dizendo na formação x, quem foi ou quem não foi, relacionado a todos os formandos.

 

Por onde deveria começar ? Diagrama de classe ? Preciso definir melhor o sistema ?

 

Só preciso começar que aí pego o gás.

Compartilhar este post


Link para o post
Compartilhar em outros sites
 Diagrama de classe

Sempre.

 

Estrutura de banco também acho importante mas como estamos falando de Orientando a Objeto acho que o ponto é pegar todos os conceitos para se formar um objeto e ir aplicando.

 

Comece assim:

 

Cria o objeto, crie as propriedades e os métodos.

Procure saber se a propriedade tem necessidade de ser uma propriedade do objeto ou do método, procure saber se o seu método deve ser realmente um método.

verifique se precisa de herança, verifique se precisa de uma interface.

Verifique o conceito de responsabilidade única .

e assim vai..

Compartilhar este post


Link para o post
Compartilhar em outros sites

Cria o objeto, crie as propriedades e os métodos.

Procure saber se a propriedade tem necessidade de ser uma propriedade do objeto ou do método, procure saber se o seu método deve ser realmente um método.

verifique se precisa de herança, verifique se precisa de uma interface.

Verifique o conceito de responsabilidade única .

e assim vai..

Muito bom, é interessante ir postando a evolução ? é um projeto de teste só para que eu entenda melhor o processo da orientação objeto, farei o diagrama de classes e tal? O que acha ?

Compartilhar este post


Link para o post
Compartilhar em outros sites

sim, é excelente.

 

Eu ainda não peguei 100% do OO por que parei de praticar mas eu sempre fui jogando meus code aqui e peguntando se estava bom e/ou por que esta ruim.

 

Conceito é bom mas na hora de aplicar é sempre "diferente".

 

Boa sorte.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Claro que é interessante ir postando o andamento do projeto, estou iniciando com PHP e estou trabalhando com Orientação a Objetos também, vou tentar realizar um igual ao seu também...

 

Parabéns pela ideia!

Compartilhar este post


Link para o post
Compartilhar em outros sites

identifique os elementos(classes/atores) suas responsabilidades e como são as interações entre eles.

Compartilhar este post


Link para o post
Compartilhar em outros sites

sim, é excelente.

 

Eu ainda não peguei 100% do OO por que parei de praticar mas eu sempre fui jogando meus code aqui e peguntando se estava bom e/ou por que esta ruim.

 

Conceito é bom mas na hora de aplicar é sempre "diferente".

 

Boa sorte.

 

 

Claro que é interessante ir postando o andamento do projeto, estou iniciando com PHP e estou trabalhando com Orientação a Objetos também, vou tentar realizar um igual ao seu também...

 

Parabéns pela ideia!

 

Então vamo nessa! abaixo segue o inicio do diagrama, fiquei um pouco confuso quanto a relação entre gerente , instrutor e funcionário.

 

classdiagram1d.jpg

 

A idéia é a seguinte

 

Tenho um funcionário, ele por der gerente e instrutor de uma formação, mas isso não faz com que ele deixe de ser funcionário, nessa situação aplica-se o conceito de herança ? correto ?

 

Como seria dada a relação das classes Formação e Funcionário, em banco de dados seria nada mais que N para N e no digrama de classe ?

 

O Software que uso pra criar os diagrmas é o Astah, que também não conheço 100%, caso demore a responder tenha certeza que não abandonei o tópico e já já venho com novidades. rs

Compartilhar este post


Link para o post
Compartilhar em outros sites

em formação(curso) acho q a propriedade data deve ser removida quem teria data seria um objeto agenda, qual é finalidade de gerente em formação?

 

na minha opinão ficaria assim:

-formacao

-id

-nome

-cargaHoraria

-descricao ou imenta

 

se o instrutor não for fixo acho q ele deve ser removido tbm.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Gerencia e Instrutor são tratados como Cargos?

 

Acho que a interface viria a calhar agora pela possibilidade de criar caracteristicas para Cargo A e Cargo B e adicionar novos Cargos sem a necessidade de alterar o seu code. (me corrijam se eu estiver errado)

Compartilhar este post


Link para o post
Compartilhar em outros sites

em formação(curso) acho q a propriedade data deve ser removida quem teria data seria um objeto agenda, qual é finalidade de gerente em formação?

 

na minha opinão ficaria assim:

-formacao

-id

-nome

-cargaHoraria

-descricao ou imenta

 

se o instrutor não for fixo acho q ele deve ser removido tbm.

 

Ementa é um ótimo nome, realmente identifica melhor o que vai ser tratado na formação, nota 10 shini !

 

O gerente será responsável pos cadastrar as formações, o instrutor por leciona-las, e o funcionário sem caracteristicas de gerente ou de instrutor irá participar das mesmas.

 

 

 

Gerencia e Instrutor são tratados como Cargos?

 

Acho que a interface viria a calhar agora pela possibilidade de criar caracteristicas para Cargo A e Cargo B e adicionar novos Cargos sem a necessidade de alterar o seu code. (me corrijam se eu estiver errado)

 

 

Pode ser que sim, acha que dessa forma o conceito de herança é melhor entendido ?

 

O que me confunde é que o instrutor pode ser gerente, essa seria uma relação legal ? O que acha ?

Compartilhar este post


Link para o post
Compartilhar em outros sites

so uma observação.... temos funcionarios mas todos eles participam de cursos?

acho q ai tem uma abstração 'participante' com metodos inicialmente efetuarInscricao(curso) e cancelarInscricao(curso)

Compartilhar este post


Link para o post
Compartilhar em outros sites

Apesar de não ter certeza do que falarei agora vou arriscar.

 

acho que em relação a alguns cargos da pra criar uma herança já que um tem caracteristicas do outro.

 

o Shini fala abaixo sobre novas abstrações seria esse o caso ?

Sempre pense em interfaces e S.O.L.I.D., são a chave de ouro da OO, e claro, não esqueça de encapsulamento.

 

Ainda não conheço esses sistemas, SOLID é um tipo de design pattern? Acho que já vi algo relacionado. Encapsulamento... Humm é vou dar uma pesquisada e tentar aplicar esse conceitos.

so uma observação.... temos funcionarios mas todos eles participam de cursos?

acho q ai tem uma abstração 'participante' com metodos inicialmente efetuarInscricao(curso) e cancelarInscricao(curso)

 

Sim agora que comentou parei para pensar, então este seria um outro objeto ?

Vamos levar em consideração o seguinte um usuario deve ser inserido no treinamento por um gerente e este deverá confirmar sua inscrição.

 

Então os métodos referentes a inserção desses no treinamento são de responsabilidade do gerente esses ficariam necessariamente nessa classe ?

 

Acho que o sistema está começando a ganhar forma, estamos melhorando os conceitos quanto ao problema em breve posto diagrama de classe atualizado.

 

Obrigado pessoal! Vamo nessa que eu to animado. Desculpe a demora.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Sim, acho que seria o caso.

 

 

Então os métodos referentes a inserção desses no treinamento são de responsabilidade do gerente esses ficariam necessariamente nessa classe ?

Lembra das interfaces?

então acho que isso deveria estar no corpo do gerente seria uma interface do Cargo.

Quando você diz ser outro objeto acho que não é bem isso, pois ele seria um objeto até mas não um independente pois ele depende de uma profissão para passar a existir.

 

vixi to ficando confuso comigo mesmo.

 

ahuahuahuhauhuahuaahauh

boa sorte

Compartilhar este post


Link para o post
Compartilhar em outros sites

Boa tarde,

 

Gostei da idéia !

 

Entre os princípios de S.O.L.I.D que andei vendo, um que achei muito interessante/importante é o SRP (Princípio da Responsabilidade Única).

 

Um exemplo banal, mas que me fez entender melhor a idéia por trás de herança foi reaproveitar uma base abstrata de uma classe (Conta) por exemplo, para especializa-la em (Conta Corrente e Conta Poupança), levando a um dos princípios básicos de OO que é o reuso, assim entendi o sentido de herança.

 

Quero participar disso ai também.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Princípio da Responsabilidade Única

Parece fácil dizendo mas acho o conceito mais complicado de todos.

 

e na vdd ninguém esta participando do projeto é apenas o Rodolfo e estamos tentando auxiliar ele de forma que fique claro o OO para ele pra mim e para quem mais ler.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Parece fácil dizendo mas acho o conceito mais complicado de todos.

Esses conceitos são bem complicados, pra um projeto simples não sei o nível de aplicabilidade disso.

 

Quando falo "disso" não é menosprezando a importancia destes conceitos, mas não sei se é usual devido ao nível de complexidade.

 

Quero participar disso ai também.

 

Beleza, tamo junto, quanto a relação entre os funcionários e suas tarefas como gerência e ou "cargo" de instrutor, como faria ? Acha que estamos no caminho certo quanto a essa abstração ?

 

Nosso amigo Vinicius Rangel mandou muito bem com aplicabilidade dos conceitos referentes a isso, to só esperando um tempinho aqui para que possa criar o diagrama aplicando esses novos conceitos.

Compartilhar este post


Link para o post
Compartilhar em outros sites

"e na vdd ninguém esta participando do projeto é apenas o Rodolfo e estamos tentando auxiliar ele de forma que fique claro o OO para ele pra mim e para quem mais ler."

 

Então quero ajudar sem participar, posso ? Você deixa ? Fala sério !

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.