Que padrões devo usar?

Boa noite, tenho um sistema desenvolvido em Java operado exclusivamente via linha de comando, preciso implementar no mínimo sete padrões de POSA e GOF no mesmo, vcs podem me orientar quais são os padrões mais simples de se trabalhar e quais eu devo usar.
Exemplo: o sistema recebi o nome e quatro notas do aluno, exibe o nome as notas e fornece a media, como implementar padrões a este programa?
:smiley:

Queres implementar a esmo? Tipo, para contar espaço?

Não faça isso! Saiba o que queres e depois pense no que usar, senão vamos dar alguns patterns não vão ajudar, como Adapter, Delegate, Flyweight, Chain-of-responsability, Singleton, Facade e Memento. Ufa, foram 7, mas será que você poderá fazer algo com esses 7? Isso é trabalho de faculdade ou coisa do tipo?

Que absurdo…

Até!

Se isso for um trabalho de faculdade, então professor = 0! :stuck_out_tongue:

primeiro o problema ou necessidade e dpois o padrão!

eu aconselho a utilizar padrões relacionados a arquitetura. é uma forma de ganhar tempo pensando nos outros padrões que tera que implementar utilizando POG.

MVC, DAO, Sigleton, Estado --> GOF

obs: como é só para demostrar a utilização dos padrões, um DAO viciado resolveria isso. :stuck_out_tongue:

[quote=maquiavelbona]Queres implementar a esmo? Tipo, para contar espaço?

Não faça isso! Saiba o que queres e depois pense no que usar, senão vamos dar alguns patterns não vão ajudar, como Adapter, Delegate, Flyweight, Chain-of-responsability, Singleton, Facade e Memento. Ufa, foram 7, mas será que você poderá fazer algo com esses 7? Isso é trabalho de faculdade ou coisa do tipo?

Que absurdo…

Até![/quote]

:idea: Criação , Comportamento e Estrutura (O que representa o desenvolvimento e para o que se destina a implementação do projeto).

:shock: Desenvolvimento StandAlone
:shock: Desenvolvimento WEB (MVC ou MVC2)
:shock: Desenvolvimento usando Spring FrameWork

:?: Desing Pattern para Crianção de Telas, Persitência , etc…

[quote=florCampo]Boa noite, tenho um sistema desenvolvido em Java operado exclusivamente via linha de comando, preciso implementar no mínimo sete padrões de POSA e GOF no mesmo, vcs podem me orientar quais são os padrões mais simples de se trabalhar e quais eu devo usar.
Exemplo: o sistema recebi o nome e quatro notas do aluno, exibe o nome as notas e fornece a media, como implementar padrões a este programa?
[/quote]

Padrões não se usam porque se quer, se usam porque é necessário. E no seu caso não é necessário.
Se vc usar estará fazendo sobre-engenharia (overengenering) que não só é ruim como anti-profissional.

Se é um trabalho de faculdade vale como exercicio, mas seria muito mais simples relatar o professor o pq vc não usou os padrões. Claro, que ai vc está em maus lençóis porque tem que defender muito bem a sua posição profissional de não emporcalhar codigos simples como padrões de projeto. Por outro lado, se implementar algum padrão vai viajar na maionese e isso tb não é defensável.

Enfim, vc quer mesmo fazer isso ?

Boa tarde, pedi ajuda a vcs, pois estou com muita dificuldade em fazer este trabalho da faculdade, um sistema foi dado, o professor quer que a gente identifique os padrões abordados neste programa, caso não tenha nem um padrão implementar 7 padrões sendo eles POSA ou GOF. O exemplo que dei foi só ficticio, não existe. Não tenho muito conhecimento em padrões, quais os padrões eu devo começar a utilizar. Agradeço a atenção de todos, e espero que possam me ajudar.

Cara, na boa, esse seu professor merece nota zero. Manda trabalho para usar padrões de projeto mas sem que haja necessidade de usar.

Padrões de projeto foram criados para resolver determinados tipos problemas. Se você não tem os problemas que eles visam resolver então você NÃO DEVE usá-los.

Padrões de projeto não devem ser usados em vão. Utilizá-los em vão ou em lugares onde não são necessários é muito pior do que simplesmente não usá-los.

Mas, se você realmente precisa enrolar o cara e fingir que existe necessidade de usar os padrões. Tente o Singleton, o Iterator, o Façade, o Decorator e o Proxy para começar. Olha, aí já tem 5, só faltam mais 2.

Mas, se é para inventar um motivo para usá-los só por usá-los, lá vai:

Ex: O programa é cliente-servidor. Existe uma classe no servidor que recebe notas dos alunos e retorna as médias. Esta classe contém uma única instância sendo implementada com o padrão Singleton. Existe uma outra classe que herda de UnicastRemoteObject que representa uma entidade remota para calcular as notas e os métodos desta classe invocam os correspondentes no Singleton, o que a torna um Façade para este. O stub local para a entidade remota por natureza já implementa o Proxy. Lá no servidor você usa o Iterator para iterar as notas recebidas e calcular as médias.

Pronto, só nisso já usou quatro design patterns!

Tbm estou começando a estudar mais a fundo e a implementar padrões mesmo( pq na Facul, só passarm a idéia), mas como o pessoal já flw nota 0 neste seu professor como sugestão vc pode estar usando tbm padrões como Factory,e não sei se entra como Pattern, mas como padrões acho que serve o uso de DAO,VO etc…

Pessoal me corrija se falei besteira vlw :wink:

Té +!

[quote=victorwss]Cara, na boa, esse seu professor merece nota zero. Manda trabalho para usar padrões de projeto mas sem que haja necessidade de usar.

Padrões de projeto foram criados para resolver determinados tipos problemas. Se você não tem os problemas que eles visam resolver então você NÃO DEVE usá-los.

Padrões de projeto não devem ser usados em vão. Utilizá-los em vão ou em lugares onde não são necessários é muito pior do que simplesmente não usá-los.
[/quote]

Creio que o espírito do exercício é justamente pesquisar o tipo de problema que cada padrão ajuda a resolver, e daí implementar. Até onde eu vi não é questão de usar sem que haja necessidade, e sim simular possíveis necessidades e então aplicar os padrões.

Melhor do que avaliar se a pessoa conhece o padrão, é avaliar se ela sabe onde aplicá-lo. E neste contexto este exercício é melhor do que muito professor propõe. Vai por mim…

É errado vc estabelecer quais padrões vai usar e depois implementá-los.
Conforme sua arquitetura vai sendo definida vc vai vendo a necessidade de usá-los.

No caso de ser um projeto didático, seria interessante vc dar uma olhada em patterns básicos (Façade, Factory, Singleton, VO, BO, DAO…)

:wink:

Básicos? Se eu pudesse escolher 3 padrões avançados seriam esses. Só são úteis em situações muito específicas e reqerem muito cuidado.

[quote=pcalcado]
Básicos? Se eu pudesse escolher 3 padrões avançados seriam esses. Só são úteis em situações muito específicas e reqerem muito cuidado.[/quote]

Verdade!

Substitua básico por “Padrões bastante usados”.
e agora? :wink:

[quote=Quinger][quote=pcalcado]
Básicos? Se eu pudesse escolher 3 padrões avançados seriam esses. Só são úteis em situações muito específicas e reqerem muito cuidado.[/quote]

Verdade!

Substitua básico por “Padrões bastante usados”.
e agora? :wink:[/quote]

N a, é melhor “Padrões bastante usados sem razão nenhuma e que geralmente acabam prejudicando a qualidade do software”.

[quote=pcalcado]
N a, é melhor “Padrões bastante usados sem razão nenhuma e que geralmente acabam prejudicando a qualidade do software”.[/quote]

hehe… ok ok! 8)